删除文件夹及文件夹内所有文件,qt代码实现
时间: 2023-06-01 20:05:16 浏览: 160
qt删除文件夹内所有内容
5星 · 资源好评率100%
你可以使用Qt的QDir类中的removeRecursively()函数来删除文件夹及其内部的所有文件。这个函数可以递归地删除子文件夹和文件。以下是一个示例代码:
```cpp
#include <QDir>
...
// 删除文件夹及其内部的所有文件
bool removeDir(const QString &dirPath)
{
QDir dir(dirPath);
if (!dir.exists()) {
return true;
}
// 获取文件夹中的所有文件和子文件夹
Q_FOREACH(QFileInfo fileInfo, dir.entryInfoList(QDir::NoDotAndDotDot | QDir::Files
| QDir::Dirs | QDir::Hidden
| QDir::System)) {
if (fileInfo.isDir()) {
// 递归删除子文件夹
if (!removeDir(fileInfo.filePath())) {
return false;
}
} else {
// 删除文件
if (!dir.remove(fileInfo.fileName())) {
return false;
}
}
}
// 删除文件夹
return dir.rmdir(dirPath);
}
```
你可以调用上述函数来删除文件夹及其内部的所有文件:
```cpp
removeDir("/path/to/folder");
```
阅读全文