覆盖C中的文件实际上会破坏它吗?

Tom*_*Tom 1 c file-io file

当我用fopen(filename,"w")打开文件时; 并且在该文件上写入数据,旧数据是否实际被覆盖,或者新数据是否会被写入其他地方并且旧数据被解除分配?

(假设新数据与旧数据大小相同)

pax*_*blo 7

C 在这件事上绝对没什么好说的.

底层环境是否通过覆盖它来破坏当前数据,在新位置写入并破坏旧数据,或者保留原始文件的副本完全取决于环境本身.

为了智能地解决这个问题,您应该提出另一个详细说明操作系统和C实现的问题.

  • 甚至操作系统也可能没有发言权; 当覆盖磁盘或ssd上的相同逻辑块时,控制器固件对于它是否进入相同的物理位置具有最终决定权. (4认同)