这会破坏文件系统上的文件大小估计吗?文件系统会覆盖第一个EOF字符之后的所有内容吗?这是如何处理的?
在Unix中没有EOF字符。它只是一个概念,一个由getc
返回的值,表示"这是结束(美丽的朋友)"。选择EOF
是为了使getc
(及其友元)在任何其他情况下都不能返回它。
关于写过文件末尾,不同的文件系统做的事情是不同的。
- 有些会在磁盘上留下不占用任何空间的孔
- 有的会用空格(0)填空