gpt4 book ai didi

c++ - 使用 Qt 删除文件夹及其所有内容?

转载 作者:可可西里 更新时间:2023-11-01 15:37:01 30 4
gpt4 key购买 nike

如何使用 Qt 删除文件夹及其所有内容?

我尝试使用:

QFile::remove();

但它似乎一次只删除一个文件。

最佳答案

对于 Qt5 及更高版本,有 QDir::removeRecursively :

QDir dir("C:\\Path\\To\\Folder\\Here");
dir.removeRecursively();

对于 Qt4 或更低版本,您可以使用删除每个文件的递归函数:

bool removeDir(const QString & dirName)
{
bool result = true;
QDir dir(dirName);

if (dir.exists(dirName)) {
Q_FOREACH(QFileInfo info, dir.entryInfoList(QDir::NoDotAndDotDot | QDir::System | QDir::Hidden | QDir::AllDirs | QDir::Files, QDir::DirsFirst)) {
if (info.isDir()) {
result = removeDir(info.absoluteFilePath());
} else {
result = QFile::remove(info.absoluteFilePath());
}

if (!result) {
return result;
}
}
result = dir.rmdir(dirName);
}
return result;
}

如前所述here .

关于c++ - 使用 Qt 删除文件夹及其所有内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27758573/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com