BSD 系统提供函数 ftruncate(), 某些其它系统提供 chsize(), 还有少数系统提供用于 fcntl 的参数 F_FREESP。 MS-DOS 下, 某些时候你可以用 write(fd, , 0)。 然而, 没有一个可移植的方法, 也没有办法删除在文件开头的数据块。 参见问题 19.17。