1

我目前正在使用 Visual Studio 9 和一些 QT 工具开发 C++ 应用程序。我的另一个版本是 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;
   }
}
4

0 回答 0