작업 디렉토리를 바꾼다.
#include <unsitd.h> int chdir(const char *path); int fchdir(int fd);
chdir()은 현재 디렉토리를 path가 지정된 곳으로 바뀐다.
fchdir()은 열려진 파일 기술자가 인자로 주어진다는 것을 제외 하고는 chdir()과 동일하다.
성공할경우 0을 실패했을경우에는 -1을 반환하며, 적당한 errno 값을 설정한다.
path가 접근할 수 없는 메모리 영역을 가리키고 있다.
path가 너무 길다.
파일이 존재하지 않는다.
커널 메모리가 충분하지 않다.
path가 디렉토리가 아니다.
허가가 거부 되었다.
path를 찾아갈 때 너무 많은 심볼릭 링크가 존재한다.
I/O에러의 발생
#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); }
getcwd(2)
chroot(2)
Copyrights © - Joinc, All Rights Reserved. Inherited From - Yundream Rebranded By - Joonphil
1장. chdir(2)
작업 디렉토리를 바꾼다.
1.1. 사용법
1.2. 설명
chdir()은 현재 디렉토리를 path가 지정된 곳으로 바뀐다.
fchdir()은 열려진 파일 기술자가 인자로 주어진다는 것을 제외 하고는 chdir()과 동일하다.
1.3. 반환값
성공할경우 0을 실패했을경우에는 -1을 반환하며, 적당한 errno 값을 설정한다.
1.4. 에러
path가 접근할 수 없는 메모리 영역을 가리키고 있다.
path가 너무 길다.
파일이 존재하지 않는다.
커널 메모리가 충분하지 않다.
path가 디렉토리가 아니다.
허가가 거부 되었다.
path를 찾아갈 때 너무 많은 심볼릭 링크가 존재한다.
I/O에러의 발생
1.5. 예제
1.6. 참고문헌
getcwd(2)
chroot(2)
Recent Posts
Archive Posts
Tags