使用系统调用 truncate() 或 ftruncate() 可以将普通文件截断为指定字节长度。函数原型如下所示:
#include <unistd.h>
int truncate(const char *path, off_t length);
int ftruncate(int fd, off_t length);这两个函数的区别在于:ftruncate() 使用文件描述符 fd 来指定目标文件,而 truncate() 则直接使用文件路径 path 来指定目标文件,但它们的功能是一样的。
这两个函数都可以对文件进行截断操作,即将文件截断为参数 length 指定的字节长度。截断的意思是,如果文件目前的大小大于参数 length 所指定的大小,则多余的数据将被丢失,相当于将多余部分“砍”掉;如果文件目前的大小小于参数 length 所指定的大小,则文件将被扩展,扩展部分将填充空字节
