C语言中,快速删除文件的最后一个字符?

一个已经打开的文件,通过若干次fputs操作写入了一些字符。关闭文件前,需要删掉最后一个字符,也就是当前游标之前的那个字符。
程序当中很多地方都有fputs,无法确定哪个字符串最后输出,因此先将字符串的最后一个字符改成'\0'再输出的方法不适用。

阅读 11.9k
2 个回答

那你就fflush之后用ftruncate砍掉最后一个字符好了

Windows下可以用_chsize/_chsize_s,功能是一样的。

每次put的时候少输出一个字符,把这个字符存到一个临时变量里,下次输出时先输出这个字符,再输出字符串,关闭的时候直接关闭

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏