리눅스 시스템 프로그래밍
#14 디렉토리 다루기
쿠리 Kuri
2022. 9. 19. 18:30
반응형
디렉토리 탐색 API
DIR *opendir(const char *name);
파라미터
- name : 파일 경로
반환 값
- 성공 시 열린 디렉토리 스트림 포인터
- 실패 시 NULL 포인터
디렉토리를 오픈 후, 디렉토리 내에 있는 파일들을 차례로 탐색하는 API (readdir)
struct dirent *readdir(DIR *dirp);
파라미터
- dirp : 디렉토리 스트림 포인터
반환 값
- 성공 시 디렉토리 엔트리 포인터
- 실패 시 NULL 포인터
struct dirent
struct dirent {
ino_t d_ino;
off_t d_off; /* XXX */
unsigned short d_reclen;
unsigned char d_type;
char d_name[256];
};
d_ino : inode 값
d_off : 내부적으로 탐색하는 offset
d_reclen : 레코드랭스
d_type : 탐색한 파일들이 어떤 타입의 파일인지 나타내는 파일
d_name : 파일의 이름
리눅스의 파일 종류
디렉토리 탐색이 끝난 뒤, 디렉토리 닫기 API (closedir)
int closedir(DIR *dirp);
파라미터
- dirp : 디렉토리 스트림 포인터
반환 값
- 성공 시 0
- 실패 시 -1
반응형