Qt递归搜索当前文件夹下所有含有*.MP3的文件夹
时间: 2023-07-30 13:08:03 浏览: 96
可以使用QDir类来实现递归搜索文件夹下所有含有*.mp3的文件夹,具体实现代码如下:
```cpp
#include <QCoreApplication>
#include <QDir>
#include <QDebug>
void searchForMp3Files(const QDir& dir)
{
QStringList filters;
filters << "*.mp3";
// 获取当前目录下的所有文件和文件夹
QFileInfoList fileInfoList = dir.entryInfoList(filters, QDir::Files|QDir::Dirs|QDir::NoDotAndDotDot);
foreach (const QFileInfo& fileInfo, fileInfoList) {
if (fileInfo.isDir()) {
// 如果是文件夹,则递归搜索文件夹下的文件
searchForMp3Files(QDir(fileInfo.filePath()));
} else if (fileInfo.isFile() && fileInfo.suffix() == "mp3") {
// 如果是mp3文件,则输出路径
qDebug() << fileInfo.filePath();
}
}
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QDir dir(".");
searchForMp3Files(dir);
return a.exec();
}
```
该程序会搜索当前目录下的所有文件和文件夹,如果是文件夹则递归搜索文件夹下的文件,如果是mp3文件则输出文件路径。可以根据需要修改搜索的目录和文件类型。
阅读全文