qt 判断给定文件夹是否存在m后缀的文件
时间: 2023-12-22 11:03:29 浏览: 116
要判断给定文件夹中是否存在以 `.m` 后缀的文件,您可以使用 QDir 类来进行文件夹操作,并结合正则表达式来进行文件匹配。以下是一个示例代码:
```cpp
#include <QDir>
#include <QRegularExpression>
#include <QDebug>
int main()
{
QString folderPath = "/path/to/folder";
// 使用 QDir 打开给定的文件夹路径
QDir folder(folderPath);
// 构建正则表达式,匹配以 .m 结尾的文件名
QRegularExpression regex("\\.m$");
// 获取文件夹中的所有文件
QStringList files = folder.entryList(QDir::Files);
// 遍历文件列表,查找匹配的文件
bool hasMFile = false;
for (const QString& file : files) {
if (regex.match(file).hasMatch()) {
qDebug() << "Found .m file:" << file;
hasMFile = true;
break;
}
}
// 判断是否找到 .m 文件
if (!hasMFile) {
qDebug() << "No .m file found.";
}
return 0;
}
```
上述代码中,我们首先使用 QDir 类打开给定的文件夹路径。然后,我们构建了一个正则表达式 `\.m$`,它匹配以 `.m` 结尾的文件名。接下来,我们使用 `entryList` 函数获取文件夹中的所有文件,并存储在一个 QStringList 中。然后,我们遍历文件列表,通过正则表达式匹配文件名,如果找到匹配的文件,我们打印出文件名,并将 `hasMFile` 设置为 true。最后,我们根据 `hasMFile` 的值判断是否找到了以 `.m` 结尾的文件。
请注意,您需要将 `/path/to/folder` 替换为实际的文件夹路径。希望这能满足您的需求!如果还有其他问题,请随时提问。
阅读全文