gpt4 book ai didi

c++ - 如何确保 QFile 写入相同的物理地址?

转载 作者:行者123 更新时间:2023-11-30 03:32:36 41 4
gpt4 key购买 nike

我想开发一个可以打开文件并替换该物理位置 中的所有字节的应用程序,以便使恢复变得困难(某种数据删除器)。那么我如何确定我是否使用 QFile 打开一个 n Mb 的文件并在该数据上写入 n Mb 的虚拟数据将在相同的物理位置(在 Windows 和 Linux 中)被覆盖?

最佳答案

对于“普通”文件系统,在HDD 驱动器上,只需查找文件的开头并写入正确数量的字节就足够了。它们将被放置在相同的位置。

但是,在 SSD 中很难以这种方式执行此操作,因为您需要处理 write aplification ,当数据实际上并未写入同一位置时,即使操作系统认为是。相反,对于 SSD,TRIM应该使用命令,它将 block 标记为空闲,SSD Controller 将用零重写它们以便以后能够重用它们。在现代文件系统中,例如 ext4ntfs,它已经为删除的文件完成了。

Resuming,在硬盘上你的方法很好,很适用。对于 SSD,它只会制作一些数据拷贝,所以我最好避免这种情况,只删除文件,希望 FS 驱动程序会为我将 TRIM 发送到 SSD Controller 。

关于c++ - 如何确保 QFile 写入相同的物理地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43407908/

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