C文件流,在开头附加

tex*_*man 7 c file append stream

有没有一种简单的方法可以使用文件流在文本文件的开头附加内容?因为我能想到的唯一方法是将文件加载到缓冲区中,写入text-to-append然后写入缓冲区.我想知道是否可以在没有缓冲区的情况下完成它.

GWW*_*GWW 7

不,它不可能.您必须重写文件以在开头插入文本.

编辑:如果你使用临时文件,你可以避免将整个文件读入内存,即:

  1. 写下要插入文件开头的值
  2. 从旧文件中读取X字节
  3. 将这些X字节写入新文件
  4. 重复2,3,直到读完旧文件
  5. 将新文件复制到旧文件.


Bro*_*ses 6

没有简单的方法,因为实际操作并不简单。当文件存储在磁盘上时,文件开头之前没有空的可用字节,因此不能只将数据放在那里。对此没有理想的通用解决方案 - 通常,这意味着复制所有其余数据以移动它以腾出空间。

因此,C 让你决定如何解决这个问题。