chdir 서브루틴

용도

현재 디렉토리를 변경합니다.

라이브러리

표준 C 라이브러리(libc.a)

구문

#include <unistd.h>
int chdir ( Path)
const char *Path;

설명

Chdir 서브루틴은 현재 디렉터리를 Path 매개변수로 지정된 디렉터리로 변경합니다.

매개변수

항목 설명
경로 디렉토리의 경로 이름에 대한 포인터입니다. Path 매개변수가 심볼릭 링크를 참조하는 경우 chdir 서브루틴은 현재 디렉터리를 심볼릭 링크가 가리키는 디렉터리로 설정합니다. 시스템에NFS네트워크 파일 시스템)가 설치되어 있는 경우 이 경로는 다른 노드로 넘어갈 수 있습니다.

현재 작업 디렉터리라고도 하는 현재 디렉터리는 /(슬래시)로 시작하지 않는 경로 이름에 대한 검색의 시작점입니다. 호출 프로세스는 Path 매개변수로 지정된 디렉터리에 대한 검색 액세스 권한이 있어야 합니다.

리턴 값

성공적으로 완료되면 chdir 서브루틴은 0 값을 반환합니다. 그렇지 않으면 -1 값이 반환되고 오류를 식별하기 위해 errno 전역 변수가 설정됩니다.

오류 코드

다음 중 하나 이상에 해당하면 chdir 서브루틴이 실패하고 현재 디렉터리는 변경되지 않습니다:

항목 설명
EACCES 명명된 디렉터리에 대한 검색 액세스가 거부됩니다.
ENOENT 명명된 디렉터리가 존재하지 않습니다.
ENOTDIR 경로 이름이 디렉터리가 아닙니다.

Chdir 서브루틴은 다른 이유로도 실패할 수 있습니다. 추가 오류 코드 목록은 경로 이름 확인이 필요한 서비스에 대한 기본 운영 체제 오류 코드를 참조하세요.

시스템에 NFS 설치되어 있는 경우 다음과 같은 경우에도 chdir 서브루틴이 실패할 수 있습니다:

항목 설명
ETIMEDOUT 연결 시간이 초과되었습니다.