폴더의 경로를 수신하고 그 내부에있는 파일 수를 반환해야하는 작은 함수를 작성했습니다.dirent를 사용하여 디렉토리에있는 기존 파일의 수를 잘못 계산하는 이유는 무엇입니까?
내 대답이 정확하지 않습니다. 인쇄 할 때 .
및 ..
이 인쇄됩니다.
누군가 내게 이유를 말해 줄 수 있습니까? 2
가 줄어들면 해결할 수 있습니까? 여기
{
struct dirent *entry;
DIR *dirp;
int fileCount = 0;
char currPath[MAX_STR];
dirp = opendir(clientLocalPath);
printf(" ***** printing files!!!!! ********\n");
while((entry = readdir(dirp)) != NULL)
{
strcpy(currPath, entry->d_name);
printf("%s\n",currPath);
fileCount++;
}
closedir(dirp);
return fileCount;
}
가능한 중복 ([C, readdir은() 대신 파일의 도트로 시작] HTTP : 당신이 그들을 무시하고 fileCount 변수에 대한 파일의 나머지 부분을 고려할 경우, 당신은 이런 식으로 뭔가를 할 수 : //stackoverflow.com/questions/20265328/c-readdir-beginning-with-a-dots-instead-of-files) –