Linux设置文件结尾(缩小,截断,截取一些data @ end)

在Windows中有SetEndOfFile()API来截断一些数据。

我如何在Linux中做到这一点?

我正在寻找的伪代码示例(特定于Linux):

int fd = open("/path/to/file",O_RDWR); // file contents: "0123456789ABCDEF", 16 bytes lseek(fd,10,SEEK_CUR); // what's in the next line? (imaginary code) syscall(what,fd,FD_SET_EOF); close(fd); //sync(); // now file on disk looks like "0123456789", 10 bytes 

ftruncate(fd, 10);

lseek电话是不需要的。)

man 2 ftruncate