
readdir 함수의 반환값인 DIR* 타입의 포인터는 디렉토리 엔트리 구조체를 읽어오는 데 사용됩니다.
1. DIR* 포인터를 얻기 위해 opendir 함수를 사용하여 디렉토리를 열어야 합니다. 예를 들어, DIR* dir_ptr = opendir("/path/to/directory");
2. readdir 함수를 사용하여 디렉토리 내의 파일 목록을 읽어올 수 있습니다. 예를 들어, struct dirent* entry = readdir(dir_ptr);
3. 읽어온 디렉토리 엔트리 구조체는 struct dirent 형식으로 반환됩니다.
4. readdir 함수를 반복적으로 호출하여 디렉토리 내의 모든 파일 목록을 읽어올 수 있습니다.
5. 모든 파일 목록을 읽어온 후에 closedir 함수를 사용하여 디렉토리를 닫아야 합니다. 예를 들어, closedir(dir_ptr);
예제 코드:
#hostingforum.kr
c
#include
#include
int main() {
DIR* dir_ptr;
struct dirent* entry;
// 디렉토리 열기
dir_ptr = opendir("/path/to/directory");
if (dir_ptr == NULL) {
perror("opendir");
return 1;
}
// 디렉토리 내의 파일 목록 읽기
while ((entry = readdir(dir_ptr)) != NULL) {
printf("%sn", entry->d_name);
}
// 디렉토리 닫기
closedir(dir_ptr);
return 0;
}
2025-08-08 03:58