gpt4 book ai didi

c++ - Qt永久删除文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:53:35 24 4
gpt4 key购买 nike

我不得不在 Qt 上更改我没有编写的程序。我找到了代码中的位置并且知道我想要它做什么,但我不知道要更改什么,所以寻求帮助。代码如下:

QFile file(path);
qint64 size = filesize(path);
qint64 blockSize = 10240;
bool ok = file.open(QIODevice::ReadWrite);

if (ok)
{
    QTime t;
    t.start();
    file.seek(0);
    for (int i = 0; i < ceil(double(size) / double(blockSize)); i++)
{
        qint64 block = size - i * blockSize;
        if (block > blockSize)
{
block = blockSize;
}

        QByteArray data;
        data.resize(block);
        data.fill('0');
        file.write(data, block);
    }
    file.close();
    file.remove();
}

此处被文件内容替换为零,因为删除后无法恢复。谷歌搜索我得出两个结论,要么文件中没有真正的写入,要么将新数据写入其他磁盘扇区,而旧数据保留在原处。如何使文件的内容真正被零替换而无法恢复呢?非常感谢任何帮助!

最佳答案

我个人只会使用 shr​​ed 或通过 QProcess 的类似工具。在这种情况下,这可能是最好的效果/努力比。

我认为你不应该自己发明这个,因为这不是 Qt 特定的东西,也不是常见的东西。

关于c++ - Qt永久删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22861701/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com