В настоящее время я занимаюсь разработкой приложений на 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;
}
}
Задача ещё не решена.
Других решений пока нет …