Рекурсивное удаление директории в Qt4
int removeFolder(QDir &dir)
{
int res = 0;
//Получаем список каталогов
QStringList lstDirs = dir.entryList(QDir::Dirs |
QDir::AllDirs |
QDir::NoDotAndDotDot);
//Получаем список файлов
QStringList lstFiles = dir.entryList(QDir::Files);
//Удаляем файлы
foreach (QString entry, lstFiles)
{
QString entryAbsPath = dir.absolutePath() + “/” + entry;
QFile::remove(entryAbsPath);
}
//Для папок делаем рекурсивный вызов
foreach (QString entry, lstDirs)
{
QString entryAbsPath = dir.absolutePath() + “/” + entry;
removeFolder(QDir(entryAbsPath));
}
//Удаляем обрабатываемую папку
if (!QDir().rmdir(dir.absolutePath()))
{
res = 1;
}
return res;
}



Свежие комментарии