Qt遍历文件夹下所有文件,Qt C++代码
时间: 2023-07-10 16:35:00 浏览: 76
您可以使用Qt中的QDir类来遍历文件夹下的所有文件,以下是一个简单的示例代码:
```cpp
#include <QDir>
#include <QDebug>
void traverseDirectory(const QString& path)
{
QDir dir(path);
if(!dir.exists()) {
qWarning() << "Directory does not exist: " << path;
return;
}
dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks);
dir.setSorting(QDir::Size | QDir::Reversed);
QFileInfoList list = dir.entryInfoList();
for(int i = 0; i < list.size(); ++i) {
QFileInfo fileInfo = list.at(i);
if(fileInfo.fileName() == "." || fileInfo.fileName() == "..")
continue;
qDebug() << fileInfo.filePath();
}
foreach(QFileInfo subdir, dir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot)) {
traverseDirectory(subdir.absoluteFilePath());
}
}
int main()
{
QString path = "/path/to/folder";
traverseDirectory(path);
return 0;
}
```
这个示例代码中,我们定义了一个`traverseDirectory`函数,该函数使用`QDir`类来遍历文件夹下所有文件。该函数首先检查指定的路径是否存在,然后设置过滤器和排序方式。然后遍历所有文件并输出它们的路径。最后,我们使用`foreach`循环遍历所有子文件夹并递归调用`traverseDirectory`函数。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)