gpt4 book ai didi

c++ - 如何使用 QDirIterator 遍历特定类型的文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:18:40 25 4
gpt4 key购买 nike

我只想遍历 .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 文件,那么我就不必在循环中检查文件扩展名..这可能吗?

最佳答案

constructors of QDirIterator 之一允许 nameFilters 参数:

QDirIterator::QDirIterator ( const QString & path, const QStringList & nameFilters, QDir::Filters filters = QDir::NoFilter, IteratorFlags flags = NoIteratorFlags )

Constructs a QDirIterator that can iterate over path, using nameFilters and filters.

nameFilters 参数没有正确记录,但它很有可能像 QDir::setNameFilters 中那样工作.

QDirIterator it(rootdir, QStringList() << "*.xml", QDir::Files, QDirIterator::Subdirectories);
while (it.hasNext()) {
qDebug() << it.next();
}

关于c++ - 如何使用 QDirIterator 遍历特定类型的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28463090/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com