C++写到文件的前面

use*_*536 11 c++ io file

我需要打开一个文件作为ofstream并写入文件的前面,同时保留文件的剩余内容,这将被"移动".类似于"prepend"文件.

这可能是使用STL还是提升?

Jer*_*fin 16

不 - 语言(或库)在这里并没有太大的区别.大多数文件系统都不允许它,完全停止.

获得相同效果的常用方法是将新数据写入新文件,然后根据您编写的数据将旧文件中的数据复制到新文件中.

  • 他没有描述如何去做; 他描述了这个问题的标准解决方法. (6认同)
  • 这里有一个明显但微妙的区别.jerry没有描述如何在文件前添加,他正在创建一个新文件,然后附加旧文件.这实现了相同的结果,但肯定会为操作系统做更多的工作.(假设要预先添加的数据很小,相比之下文件很大) (2认同)

小智 5

不,不是.这之前已经多次被问过了.如果要执行此操作,则必须创建新文件,将"prepend"数据写入其中,然后打开现有文件并将其内容复制到新文件中.