Joinc 팀블로그 리눅스 메뉴얼 정리 Joinc 위키
댓글

Recent Comments

Powered by Disqus
팀블로그 카테고리
  전체 (1105)
   공지사항 (1)
   검색엔진 (21)
   기술동향 (58)
   게임 (2)
   독서 (6)
   리눅스 (12)
   보안 (1)
   사회문제 (22)
   어셈블리 (43)
   영화 (3)
   오픈소스 (10)
   음악 (9)
   인물 (1)
   포인터 (4)
   프로그래머 (23)
   팀블로그 (20)
   테터툴즈 (29)
   C/C++ (152)
   FireFox (11)
   Gimp (2)
   Google (98)
   Java (13)
   Perl (2)
   Pthread (11)
   STL (13)
   TCP/IP (8)
   Tools (31)
   Web2.0 (42)
   Wiki (1)
«   2010/07   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
2007/05/08 00:39

chdir - 작업디렉토리를 변경한다.

1장. chdir(2)

차례
1.1. 사용법
1.2. 설명
1.3. 반환값
1.4. 에러
1.5. 예제
1.6. 참고문헌

작업 디렉토리를 바꾼다.


1.1. 사용법

#include <unsitd.h>

int chdir(const char *path);
int fchdir(int fd);


1.2. 설명

chdir()은 현재 디렉토리를 path가 지정된 곳으로 바뀐다.

fchdir()은 열려진 파일 기술자가 인자로 주어진다는 것을 제외 하고는 chdir()과 동일하다.


1.3. 반환값

성공할경우 0을 실패했을경우에는 -1을 반환하며, 적당한 errno 값을 설정한다.


1.4. 에러

EFAULT

path가 접근할 수 없는 메모리 영역을 가리키고 있다.

ENAMETOOLONG

path가 너무 길다.

ENOENT

파일이 존재하지 않는다.

ENOMEM

커널 메모리가 충분하지 않다.

ENOTDIR

path가 디렉토리가 아니다.

EACCESS

허가가 거부 되었다.

ELOOP

path를 찾아갈 때 너무 많은 심볼릭 링크가 존재한다.

EIO

I/O에러의 발생


1.5. 예제

#include <unistd.h>
#include <string.h>

int main(int argc, char **argv)
{
char buf[255];
if (chdir(argv[1]))
{
perror("error");
exit(1);
}
getcwd(buf, 255);
printf("현재 작업 디렉토리 : %s\n", buf);
exit(0);
}


1.6. 참고문헌

  1. getcwd(2)

  2. chroot(2)

:::