Qt4删除目录和目录下的文件
时间: 2023-08-30 08:07:31 浏览: 124
您可以使用QDir类来删除目录和目录下的文件。以下是一个示例代码:
```cpp
#include <QCoreApplication>
#include <QDir>
#include <QDebug>
void removeDirectory(const QString& path)
{
QDir dir(path);
if (dir.exists()) {
Q_FOREACH(QFileInfo info, dir.entryInfoList(QDir::NoDotAndDotDot | QDir::System | QDir::Hidden | QDir::AllDirs | QDir::Files, QDir::DirsFirst)) {
if (info.isDir()) {
removeDirectory(info.absoluteFilePath());
}
else {
QFile::remove(info.absoluteFilePath());
}
}
dir.rmdir(path);
}
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString directoryPath = "/path/to/directory";
removeDirectory(directoryPath);
return a.exec();
}
```
在上述代码中,`removeDirectory`函数用递归的方式删除目录及其子目录下的所有文件。首先检查目录是否存在,然后遍历目录下的所有文件和子目录。对于子目录,递归调用`removeDirectory`函数;对于文件,使用`QFile::remove`函数删除文件。最后,使用`QDir::rmdir`函数删除空目录。
请将代码中的`/path/to/directory`替换为您要删除的目录的路径。注意,删除操作是不可逆的,请谨慎使用。
阅读全文