一、接口介绍
truncate 和 ftruncate 系统调用作用是将文件大小设置为length参数指定的值若文件当前长度大于参数length,调用将丢弃超出的部分,若小于参数length,调用将在文件尾部添加一系列空字节或是一个文件空洞
- truncate()是以路径名字字符串来指定文件,并要求可访问文件,且对文件有写权限若文件是符号链接,那么调用将对其进行解引用,
- ftruncate(),需要获取文件描述符指定该文件,该系统调用不会修改文件偏移量(还记得pread,pwrite吗 ?)
注意:对于给出的length如果超出了文件长度,是否添加空洞文件要看不同标准,一般来说是添加空洞,遇到直接返回错误也不要惊奇</