chdir 서브루틴
용도
현재 디렉토리를 변경합니다.
라이브러리
표준 C 라이브러리(libc.a)
구문
#include <unistd.h> int chdir ( Path)
const char *Path;
const char *Path;
설명
Chdir 서브루틴은 현재 디렉터리를 Path 매개변수로 지정된 디렉터리로 변경합니다.
매개변수
| 항목 | 설명 |
|---|---|
| 경로 | 디렉토리의 경로 이름에 대한 포인터입니다. Path 매개변수가 심볼릭 링크를 참조하는 경우 chdir 서브루틴은 현재 디렉터리를 심볼릭 링크가 가리키는 디렉터리로 설정합니다. 시스템에NFS네트워크 파일 시스템)가 설치되어 있는 경우 이 경로는 다른 노드로 넘어갈 수 있습니다. |
현재 작업 디렉터리라고도 하는 현재 디렉터리는 /(슬래시)로 시작하지 않는 경로 이름에 대한 검색의 시작점입니다. 호출 프로세스는 Path 매개변수로 지정된 디렉터리에 대한 검색 액세스 권한이 있어야 합니다.
리턴 값
성공적으로 완료되면 chdir 서브루틴은 0 값을 반환합니다. 그렇지 않으면 -1 값이 반환되고 오류를 식별하기 위해 errno 전역 변수가 설정됩니다.
오류 코드
다음 중 하나 이상에 해당하면 chdir 서브루틴이 실패하고 현재 디렉터리는 변경되지 않습니다:
| 항목 | 설명 |
|---|---|
| EACCES | 명명된 디렉터리에 대한 검색 액세스가 거부됩니다. |
| ENOENT | 명명된 디렉터리가 존재하지 않습니다. |
| ENOTDIR | 경로 이름이 디렉터리가 아닙니다. |
Chdir 서브루틴은 다른 이유로도 실패할 수 있습니다. 추가 오류 코드 목록은 경로 이름 확인이 필요한 서비스에 대한 기본 운영 체제 오류 코드를 참조하세요.
시스템에 NFS 설치되어 있는 경우 다음과 같은 경우에도 chdir 서브루틴이 실패할 수 있습니다:
| 항목 | 설명 |
|---|---|
| ETIMEDOUT | 연결 시간이 초과되었습니다. |