dirent.h не возвращает все элементы

В настоящее время я занимаюсь разработкой приложений на C ++ с использованием Visual Studio 9 и некоторых инструментов QT. Моя тяжелая версия 1.13. Я не могу вспомнить, получил ли я эту версию вместе с моей установкой VS, или я заменил ее той, которая есть в моей папке загрузок.

В любом случае, мое приложение использует приведенный ниже код, чтобы получить пользовательский ввод выбранного подключенного сетевого диска, который я буду сканировать на наличие подкаталогов. Подход ниже не возвращает все элементы, хотя. На данный момент существует всего 112 подкаталогов, но цикл получает только 101 элемент, включая «.» и «..» предметы. Кто-нибудь здесь, кто сталкивался с этим раньше или предложил лекарство?

Спасибо.

DIR *dir1;
struct dirent *ent1;
QByteArray ba;
QString directory = QFileDialog::getExistingDirectory(this,
tr("Find Files"), QDir::currentPath());

QDirIterator dirIt(directory,QDirIterator::Subdirectories);

ba = directory.toLocal8Bit();

if ((dir1 = opendir (ba.data())) != NULL)
{
ctr = 0;
while ((ent1 = readdir (dir1)) != NULL)
{
ctr++;
qDebug()<<ctr<<". "<<ent1->d_name;
}
}

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]