2011-01-20 69 views

回答

6

普通ANSI C不提供任何标准的方法来减小文件的大小 - 在标准C做到这一点的唯一方法是将整个文件内容复制到一个新的文件,除了要部分忽略。

或者,您可以使用操作系统特定的函数就地截断文件。例如,POSIX提供了ftruncate()函数,它将文件缩短为给定的长度。您将搜索最后一行的开头,然后在此之前立即截断文件(使用lseek()获取位置)。


所有的最简单的选择,如果你有GNU head,仅仅是使用:

head -n -1 <file.original> file.new 
0

你是用的方法是正确的。对于换行符,请记住最后一个,然后使用truncateftruncate。另请参阅How to truncate a file in C?

心连心

马里奥

相关问题