디렉터리 다루기
int mkdir(const har *pathname, mode_t mode);
- Parameter
- pathname:생성하려는 디렉터리의 경로
- mode:생성하려는 디렉터리의 초기 접근 권한
- Return
- Owner, Group, Other
비어있는 디렉터리 삭제하기
int rmdir(const char *pathname);
디렉터리 열기
DIR *opendir(const char *name);
- Parameter
- Return
- 성공시 DIR형 포인터 반환
- 실패시 NULL반환
열린 디렉터리 닫기
int closedin(DIR *dirp);
디렉토리 읽기
struct dirent *readdir(DIR *dirp);
- Parameter
- dirp:opendir로 개방한 디렉터리에 대한 포인터
- Return
- 성공시 struct dirent 포인터 반환
- 실행시 혹은 더 이상 읽을 디렉터리 항이 없을 경우 NULL 반환
- DIR *는 디렉터리를 다루기 위한 핸들러,
- struct direntL:그를 통해 접근 가능한 디렉터리 엔트리
- inode 번호를 통해 위치를 유추할 수 있는 정보가 나온다.
struct dirent{
ino_t d_ino; //파일의 inode qjsgh
off_t d_off; // 현재 디렉터리 엔트리의 오프셋: 엔트리 탐색시 사용
unsigned short d_reclen;// 현재 디렉터리 엔트리의 길이
unsigned char d_type;// 파일 형식
char d-name[256];// 파일 이름
현재 작업 디렉터리 경로 얻어오기
char *getcwd(char *buf, size_t size);
- Parameter
- buf:현재 작업 디렉터리의 경로를 저장할 버퍼
- size:버퍼의 최대 크기
- Return
현재 프로세스의 작업 디렉터리 변경
int chdir(const char *path);