我不得不更改我没有编写的 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();
}
这里被替换为带有零的文件内容,因为删除后无法恢复。谷歌搜索我得出两个结论,要么文件中没有真正的写入,要么将新数据写入其他磁盘扇区,而旧的仍然存在。如何使文件的内容真正被零替换而无法恢复?任何帮助将不胜感激!