我有一个文本文件。如何使用 C 仅删除文件中的最后一行?
谢谢!约翰。
普通 ANSI C 不提供任何减小文件大小的标准方法——在标准 C 中做到这一点的唯一方法是将整个文件内容复制到一个新文件中,除了您要省略的部分。
或者,您可以使用特定于操作系统的函数来就地截断文件。例如,POSIX 提供了ftruncate()
将文件缩短到给定长度的功能。您将搜索最后一行的开头,然后在此之前截断文件(lseek()
用于获取位置)。
如果你有 GNU head
,最简单的选择就是使用它:
head -n -1 < file.original > file.new