dirent.h没有返回所有项目

时间:2013-09-12 08:36:12

标签: c++ networking drive subdirectory dirent.h

我目前正在使用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;
   }
}

0 个答案:

没有答案