C++ 计算目录中的文件数
我想计算一个目录中的文件数,我在QDir类中使用了count方法,但它总是返回文件数加2!它为什么要这样做?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()
返回目录中文件和目录的总数。这包括
(此)和。
(父)目录项。因此,计数总是比“真实”文件和子目录多两个。您应该将标志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);
并非“总是”。看见