0
여러 개의 하위 디렉토리가있는 디렉토리에 대한 경로가 표시됩니다. 모든 하위 디렉토리에는 "st"라는 이름의 파일이 있습니다. 나는 모든 하위 디렉토리에서 모든 st 파일을 읽으려고하는데 항상 fopen을 호출 할 때 NULL 포인터를 받는다 ???하위 디렉토리에있는 파일을 읽는 중
내 코드 :
int main(){
DIR *dir;
struct dirent *ent;
FILE *st;
dir=opendir("/home/me/Desktop/dir/");
while((ent=readdir(dir)) != NULL){
if(ent->d_type == DT_DIR && strcmp(ent->d_name, ".") != 0 && strcmp(ent->d_name, "..") != 0){
DIR *subDir = opendir(ent->d_name);
st = fopen("st", "r");
if(st == NULL){
perror("doesn't exist");
}
}
}
closedir(dir);
}
그럼 다른 direcotroy 포인터 (DIR * subDir)를 생성해야하거나 첫 번째 (DIR * dir)을 바꿀 수 있습니까? – Matthew
도 아닙니다. 그냥 이름을 연결하십시오. – abligh
루트 문제 - 만성적 인 디버깅이 불가능합니다. –