
rewinddir 함수를 사용할 때 발생하는 문제는, rewinddir 함수를 사용하기 전에 디렉토리 포인터가 NULL이 아닌지 확인하지 않아서 발생합니다.
다음과 같이 디렉토리 포인터가 NULL이 아닌지 확인하여 문제를 해결할 수 있습니다.
#hostingforum.kr
c
#include
#include
int main() {
DIR *dirp;
struct dirent *entry;
// 디렉토리 열기
dirp = opendir(".");
if (dirp == NULL) {
perror("opendir");
return 1;
}
// 디렉토리 포인터 초기화
rewinddir(dirp);
// 디렉토리 내용 출력
while ((entry = readdir(dirp)) != NULL) {
printf("%sn", entry->d_name);
}
// 디렉토리 닫기
closedir(dirp);
return 0;
}
또한, rewinddir 함수를 사용할 때 디렉토리 포인터가 NULL이 아닌지 확인하고, 디렉토리 포인터가 NULL이면 에러 메시지를 출력하여 디렉토리 포인터가 초기화되지 않은 문제를 해결할 수 있습니다.
#hostingforum.kr
c
#include
#include
int main() {
DIR *dirp;
struct dirent *entry;
// 디렉토리 열기
dirp = opendir(".");
if (dirp == NULL) {
perror("opendir");
return 1;
}
// 디렉토리 포인터 초기화
rewinddir(dirp);
// 디렉토리 내용 출력
while ((entry = readdir(dirp)) != NULL) {
printf("%sn", entry->d_name);
}
// 디렉토리 닫기
closedir(dirp);
return 0;
}
이러한 방법으로 디렉토리 포인터가 초기화되지 않은 문제를 해결할 수 있습니다.
2025-07-01 03:48