Qt 4.8.4 中删除非空目录

在 Qt 4.8.4 中,可以使用 QDir 类的 removeRecursively() 方法轻松删除非空目录。

以下是删除 /a/b 目录(包括其所有子目录和文件)的示例代码:

#include <QDir>
#include <QDebug>

int main()
{
    QString path = '/a/b';

    QDir dir(path);

    if (!dir.exists())
    {
        qDebug() << 'Directory does not exist';
        return 0;
    }

    if (dir.removeRecursively())
    {
        qDebug() << 'Directory removed successfully';
    }
    else
    {
        qDebug() << 'Failed to remove directory';
    }

    return 0;
}

代码说明:

  1. 首先,创建一个 QDir 对象,并传入要删除的目录路径 /a/b
  2. 使用 exists() 方法检查目录是否存在。
  3. 调用 removeRecursively() 方法删除目录及其所有内容。
  4. 检查 removeRecursively() 的返回值以确定删除操作是否成功。

注意事项:

  • removeRecursively() 方法会删除指定目录下的所有内容,请谨慎使用。
  • 在执行删除操作之前,最好备份重要数据。
  • 如果删除操作失败,removeRecursively() 方法会返回 false。您可以通过检查返回值来确定操作是否成功。
Qt 4.8.4 删除非空目录 - 使用 QDir::removeRecursively()

原文地址: https://www.cveoy.top/t/topic/b4tX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录