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