0
У меня есть довольно простой фрагмент кода, чтобы получить список файлов в каталоге на C++. Необъяснимо, только 68 из 135 файлов в каталоге в конечном итоге хранятся в файлах fileNames. Что происходит?readdir исключает некоторые файлы в каталоге
DIR* pDIR = opendir(directoryName.c_str());
struct dirent* entry = nullptr;
vector<string> fileNames;
while(readdir(pDIR)) {
entry = readdir(pDIR);
if (strcmp(entry->d_name, ".") != 0 && strcmp(entry->d_name, "..") != 0)
fileNames.push_back(entry->d_name);
}
closedir(pDIR);
Вы называете READDIR() дважды, но обрабатывать только один из результатов, так что вы пропустите половину файлов ... – Rene