qt删除文件夹下的文件
时间: 2023-12-18 12:04:52 浏览: 195
QT 删除文件夹
在Qt中删除文件夹下的文件可以使用以下代码:
```cpp
bool deleteDir(const QString &path) {
if (path.isEmpty()) {
return false;
}
QDir dir(path);
if(!dir.exists()) {
return true;
}
dir.setFilter(QDir::AllEntries | QDir::NoDotAndDotDot); //设置过滤
QFileInfoList fileList = dir.entryInfoList(); // 获取所有的文件信息
foreach (QFileInfo file, fileList) { //遍历文件信息
if (file.isFile()) { // 是文件,删除
file.dir().remove(file.fileName());
} else { // 递归调用函数,删除子文件夹中所有文件,然后再删除自己
deleteDir(file.absoluteFilePath());
}
}
return dir.rmpath(dir.absolutePath()); // 这时候文件夹已经空了,再删除文件夹本身
}
```
这段代码会遍历文件夹中的所有文件和子文件夹,并逐个删除。如果遇到子文件夹,会递归调用`deleteDir`函数来删除子文件夹中的文件。最后,会删除空的文件夹本身。这样就可以实现删除文件夹下的所有文件。[1][2][3]
阅读全文