Qt判断文件是否被占用,是否可修改

Qt-QtCreator中编译运行出现“程序异常结束”crashed

前两天运行项目的时候遇到了跟下面这个博主一样的问题

参考: Qt-QtCreator中编译运行出现“程序异常结束”crashed_GeraldJones的博客-CSDN博客

怀疑是数组越界导致的

出问题的地方在于没有读完整个文件到数组,后面不知道又做了啥操作,导致crashed了。

Qt判断文件是否被占用,是否可修改

//文件存在,且被占用,返回true
bool GlobalFunc::isFileUsed(QString fpath)
{
    bool isUsed = false;

    QString fpathx = fpath + "x";

    QFile file(fpath);
    bool isExist = file.exists();
    if(isExist == true)
    {
        bool isCanRename = file.rename(fpath,fpathx);
        if(isCanRename == false)
        {
            isUsed = true;
        }
        else
        {
            file.rename(fpathx,fpath);
        }
    }
    file.close();

    return isUsed;
}

参考: Qt判断文件是否被占用,是否可修改_qt判断文件有没有被占用_lixiaoxing2的博客-CSDN博客 这个博客第一种方法解决了问题

 QT 如何判断一个文件是否被其他程序占用_qt 判断文件是否被占用_hellokandy的博客-CSDN博客 这个博客对上面这个进行了论证

posted @ 2023-03-16 19:35  小头痛  阅读(554)  评论(0编辑  收藏  举报