美文网首页
QT删除文件夹的方法

QT删除文件夹的方法

作者: _WhatsUp_ | 来源:发表于2017-10-23 16:19 被阅读0次

    QDir中有函数可以删除文件夹,但是只能删除空文件夹。于是使用了最原始的方法:遍历文件夹逐个删除文件。

    bool DeleteDirectory(const QString &path)
    {
        if (path.isEmpty())
        {
            return false;
        }
    
        QDir dir(path);
        if(!dir.exists())
        {
            return true;
        }
    
        dir.setFilter(QDir::AllEntries | QDir::NoDotAndDotDot);
        QFileInfoList fileList = dir.entryInfoList();
        foreach (QFileInfo fi, fileList)
        {
            if (fi.isFile())
            {
                fi.dir().remove(fi.fileName());
            }
            else
            {
                DeleteDirectory(fi.absoluteFilePath());
            }
        }
        return dir.rmpath(dir.absolutePath());
    }
    

    相关文章

      网友评论

          本文标题:QT删除文件夹的方法

          本文链接:https://www.haomeiwen.com/subject/xfuauxtx.html