chdir(2)

#include <unistd.h>

int chdir(const char * path);

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

 

 

파라미터

path
    - 변경할 상대 또는 절대 directory path

 

RETURN

0
    - 프로세스의 작업디렉토리가 정상적으로 변경되었습니다.
    
    
-1
    -오류가 발생하였으며, 기존의 작업디렉토리가 유지됩니다. 상세 오류 내용은 errno에 저장됩니다.

 EACCES : path 구성 중의 디렉토리에 search 권한이 없음.
 EFAULT : path의 메모리가 bad 주소영역임.
 EIO    : I/O 중에 오류가 발생함.
 ELOOP  : symbolic link가 순환 link가 존재함.
 ENAMETOOLONG : Full Path명{PATH_MAX}이 너무 길거나 한 디렉토리명{NAME_MAX}이 너무김.
 ENOENT : 존재하지 않는 파일임.
 ENOTDIR: 디렉토리가 아님.

 


활용 예제

 

Sample

#include <unistd.h>
#include <sts/types.h>

......

char dir[1024];

......

// 새로운 작업 디렉토리로 이동하...
if(chdir(dir) == -1) {
    fprintf(stderr, "working directory change error: %s\n", strerror(errno));
    return -1;
}

......

 


see also : Directory 정보 조회 및 관리 Library

 

블로그 이미지

사용자 자연&사람

행복한 개발자 programmer since 1995.

댓글을 달아 주세요