中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

qt怎么刪除目錄及其子文件

qt
小億
272
2024-01-13 19:38:14
欄目: 編程語言

在Qt中,可以使用QDir類的removeRecursively方法來刪除目錄及其子文件。示例代碼如下:

#include <QDir>
#include <QDebug>

void removeDirectory(const QString& path)
{
    QDir dir(path);
    if (dir.exists()) {
        // 獲取目錄下所有文件和子目錄
        QStringList fileList = dir.entryList(QDir::AllEntries | QDir::NoDotAndDotDot);

        // 遍歷子文件和子目錄
        foreach(const QString& fileName, fileList) {
            QString filePath = dir.filePath(fileName);
            QFileInfo fileInfo(filePath);

            // 如果是文件則直接刪除
            if (fileInfo.isFile()) {
                QFile::remove(filePath);
            }
            // 如果是目錄則遞歸調用removeDirectory刪除子目錄
            else if (fileInfo.isDir()) {
                removeDirectory(filePath);
            }
        }

        // 刪除目錄
        dir.rmdir(path);
    }
}

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QString path = "your_directory_path";
    removeDirectory(path);

    return a.exec();
}

在上述示例代碼中,removeDirectory函數使用遞歸的方法刪除目錄及其子文件。首先判斷目錄是否存在,如果存在則獲取目錄下的所有文件和子目錄。然后遍歷子文件和子目錄,如果是文件則直接刪除,如果是目錄則遞歸調用removeDirectory函數刪除子目錄。最后刪除目錄本身。

0
新化县| 孝昌县| 泾阳县| 五大连池市| 类乌齐县| 内丘县| 交城县| 革吉县| 上杭县| 平塘县| 嫩江县| 陆良县| 枣强县| 富民县| 历史| 花垣县| 弥勒县| 武城县| 阳朔县| 龙胜| 河曲县| 南乐县| 长沙县| 广平县| SHOW| 河北区| 井陉县| 枝江市| 兰西县| 绥德县| 普宁市| 淄博市| 建昌县| 镇康县| 丹阳市| 麦盖提县| 荔浦县| 文登市| 巨鹿县| 冕宁县| 河东区|