如何使用QDirIterator只遍历特定类型的文件
How to iterate through only certain type of files using QDirIterator
我只想遍历.xml文件(所选文件夹及其子目录下的所有文件),QDirIterator
可能吗?
QDirIterator iter( rootDir, QDir::Files | QDir::Dirs | QDir::NoDotAndDotDot);
QString fileName;
while(iter.hasNext() )
{
qDebug() << iter.next();
fileName = iter.fileName();
// now I have to check if fileName is indeed a .xml extension
}
从上面的代码中可以看出,如果我的迭代器只能跳转到.xml文件,那么我就不必在循环中检查文件扩展名。。有可能吗?
QDirIterator的构造函数之一允许使用nameFilters参数:
QDirIterator::QDirIterator ( const QString & path, const QStringList & nameFilters, QDir::Filters filters = QDir::NoFilter, IteratorFlags flags = NoIteratorFlags )
构造一个可以遍历路径的QDirIterator,使用name筛选器和筛选器。
nameFilters
参数没有正确的文档记录,但它很有可能像QDir::setNameFilters中那样工作。
QDirIterator it(rootdir, QStringList() << "*.xml", QDir::Files, QDirIterator::Subdirectories);
while (it.hasNext()) {
qDebug() << it.next();
}
相关文章:
- avrogencpp能为模式中的每种类型生成单独的头文件吗
- 我有两个类需要在同一 cpp 文件中相互引用,但第一个类无法识别第二个类类型的对象
- 如何从文本文件中读取数值,直到遇到字符类型?
- 如何将文本文件的特定行读取到 int 类型的数组中C++?
- 给定一个C++嵌套的私有结构类型,是否有从文件范围静态函数访问它的策略
- 使用 Boost.Spirit 解析具有混合数据类型的 OBJ 文件?
- 通过C++从目录中过滤特定文件类型
- C++模板编程设计问题 - 根据输入文件返回不同的类型
- C2011: 'Card':"类"类型重新定义(尽管使用了包含保护并且没有在文件中重新定义.cpp类)
- std::ifstream 在读取文件中最后一项时设置 eofbit,但仅在读取数值类型时发生
- 将类型保存到文件
- 我的头文件 DNode 中的我的数据类型未被识别为数据类型
- 当前不会命中断点。没有调试器目标代码类型的可执行代码与此文件关联
- Ini 文件类型名称 预期C++
- 用于随机数据访问的最有效文件类型
- Visual Studio 2019 - 设置文件类型的默认扩展名
- 如何在CTreeCtrl中获取所选项目的文件类型?文件扩展名可能被隐藏,因此 GetItemText 没有帮助
- 设计跨平台多内容类型文件格式的最佳方法
- 只计算*.cpp和*.h类型文件中的行数
- 当构造函数具有相同的参数类型(文件路径)时,如何从数组创建(初始化)std::元组