覆盖现有的已使用的群集

时间:2011-05-28 00:02:32

标签: c++ winapi filesystems

如果我使用WriteFile重写文件中的某些字节,那么是否会覆盖原始使用的簇。或者将这些集群写入新集群?

2 个答案:

答案 0 :(得分:2)

如果您尝试为Windows实施安全文件删除,请查看SDelete。 (该页面还描述了它的工作原理,包括它如何处理压缩文件和/或稀疏文件。)

答案 1 :(得分:1)

在FAT和NTFS文件系统上,Windows会重写相同的群集。在CD-RW和DVD-RW等媒体上,它可能会写入相同的群集,但可能不会。通过检查可用磁盘空间很容易判断。

压缩的NTFS文件可能有异常。重写某些字节可能会导致压缩段的簇数改变大小。在这种情况下,我认为它将释放该段的正在使用的集群并分配一个正确大小的新集群。