qt获取文件夹下所有的.txt文件
时间: 2023-10-04 21:05:03 浏览: 221
你可以使用 QDir 类和 QRegularExpression 类来获取文件夹下的所有 .txt 文件。具体实现可以参考以下代码:
```cpp
#include <QDir>
#include <QRegularExpression>
#include <QStringList>
// 获取文件夹下所有的 .txt 文件路径
QStringList getTxtFiles(const QString& folderPath)
{
QStringList txtFiles;
QDir dir(folderPath);
if (!dir.exists()) {
return txtFiles;
}
dir.setFilter(QDir::Files | QDir::NoSymLinks);
dir.setSorting(QDir::Name | QDir::IgnoreCase);
QRegularExpression re(".+\\.txt$", QRegularExpression::CaseInsensitiveOption);
QFileInfoList fileList = dir.entryInfoList();
for (const QFileInfo& fileInfo : fileList) {
if (re.match(fileInfo.fileName()).hasMatch()) {
txtFiles << fileInfo.filePath();
}
}
return txtFiles;
}
```
使用方法:
```cpp
QStringList txtFiles = getTxtFiles("/path/to/folder");
foreach (const QString& filePath, txtFiles) {
qDebug() << filePath;
}
```
其中,`getTxtFiles()` 函数返回一个包含所有 .txt 文件路径的字符串列表。`QDir` 类提供了许多有用的方法来遍历目录,比如 `entryInfoList()` 返回目录中所有文件和子目录的信息。`QRegularExpression` 类可以用来匹配文件名是否以 .txt 结尾。
阅读全文