他们都可以根据我的测试更改文件大小。
他们为什么都可以将文件更改为更大和更短?
fallocate和ftruncate有什么区别?
最佳答案
ftruncate
是一个简单的单用途函数。 Per the POSIX documentation,它只是将文件设置为请求的长度:
ftruncate()
也是标准的POSIX函数,可移植。请注意,POSIX没有指定操作系统如何设置文件长度,例如是否将文件设置为a sparse file。
fallocate()
is a Linux-specific function可以做很多事情,并且以非常特定的方式: