qt快速遍历电脑的文件系统获取所有文件夹和文件名称
时间: 2023-12-05 20:04:07 浏览: 153
可以使用QDir类来快速遍历电脑的文件系统获取所有文件夹和文件名称。以下是一个示例代码:
```c++
#include <QCoreApplication>
#include <QDir>
#include <QDebug>
void traverseDirectory(const QDir& dir)
{
// 获取当前目录下的所有文件和文件夹
QFileInfoList fileList = dir.entryInfoList(QDir::AllEntries | QDir::NoDotAndDotDot, QDir::DirsFirst);
// 遍历每一个文件和文件夹
for (int i = 0; i < fileList.size(); ++i)
{
QFileInfo fileInfo = fileList.at(i);
// 如果是文件夹,递归遍历
if (fileInfo.isDir())
{
QDir subDir(fileInfo.filePath());
traverseDirectory(subDir);
}
else
{
qDebug() << fileInfo.absoluteFilePath();
}
}
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 获取根目录
QDir rootDir = QDir::root();
traverseDirectory(rootDir);
return a.exec();
}
```
这个程序将从根目录开始遍历整个文件系统,并输出每个文件的绝对路径。如果您只想获取文件名或文件夹名,可以使用QFileInfo的fileName()方法。
阅读全文