Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 计算目录中的文件数_C++_Qt_Qt4 - Fatal编程技术网

C++ 计算目录中的文件数

C++ 计算目录中的文件数,c++,qt,qt4,C++,Qt,Qt4,我想计算一个目录中的文件数,我在QDir类中使用了count方法,但它总是返回文件数加2!它为什么要这样做? 谢谢QDir.count()返回目录中文件和目录的总数。这包括(此)和。(父)目录项。因此,计数总是比“真实”文件和子目录多两个。您应该将标志QDir::Filters与QDir::NodeAndDotDot一起使用您需要排除和。-QDir::filesfilter可以帮助您做到这一点 相关文件: 我发布了一个完整的答案 QString path = "c:\test"; // a

我想计算一个目录中的文件数,我在QDir类中使用了count方法,但它总是返回文件数加2!它为什么要这样做?
谢谢

QDir.count()
返回目录中文件和目录的总数。这包括
(此)和
(父)目录项。因此,计数总是比“真实”文件和子目录多两个。

您应该将
标志QDir::Filters
QDir::NodeAndDotDot一起使用
您需要排除
-
QDir::files
filter可以帮助您做到这一点

相关文件:


    • 我发布了一个完整的答案

      QString path = "c:\test"; // assume it is some path
      
      QDir dir( path );
      
      dir.setFilter( QDir::AllEntries | QDir::NoDotAndDotDot );
      
      int total_files = dir.count();
      
      您可以使用:

      QFileInfo文件信息(m_logFilePath);
      QDir dir(fileInfo.absoluteDir());
      QStringList文件;
      totalfiles=dir.entryList(QStringList(“*”),QDir::Files | QDir::NoSymLinks);
      
      使用文件名

      totalfiles=dir.entryList(QStringList(“文件名”),QDir::Files | QDir::Names);
      
      并非“总是”。看见