我有一个包含2个文件的目录:
Test1.txt和Test2.txt
此代码应列出两个文件:

QDirIterator *it;
QStringList nameFilters;
nameFilters << "t*.txt";
QString path = "C:/temp/test";
qDebug() << "nameFilters" << nameFilters;
it = new QDirIterator(path, nameFilters, QDir::NoFilter, QDirIterator::Subdirectories);
while (it->hasNext()) {
    QString filename = it->next();
    qDebug() << "filename" << filename;
}
但输出是:
nameFilters ("t*.txt")
filename "C:/temp/test/test2.txt"
请注意,此代码运行良好:
QDir dir(path);
qDebug() << dir.entryList(nameFilters, QDir::NoFilter);
QDir的输出:
entryList ("Test1.txt", "test2.txt")

最佳答案

似乎是Qt核心I / O错误。票证https://bugreports.qt.io/browse/QTBUG-88227已创建。

关于c++ - QDirIterator(Windows)应该不区分大小写,但不能区分大小写,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64700528/

10-10 21:35