如何在文件中的特定行上写?

det*_*ler 0 c++ file-io file

我想在现有文件上写一些数据.它是一个包含大约8-10行标题(#comments)然后包含数千行的文件data values.我想要的是保持标题相同,但将更新添加data values到文件.很可能在更新后我的行数较少data values.

所以基本上我想删除标题中最后一个#comment之后的所有内容,然后从那里开始编写新值.那可能吗?

这是一个例子:

原始文件

#Program
#Date
#Hello
0 23 23 54
1 12 4 2
2 253 786 9887
3 3 23 54
4 1 4 4
5 23 6 81
Run Code Online (Sandbox Code Playgroud)

更新后的文件

#Program
#Date
#Hello
0 2 23 54
2 253 786 9887
5 23 6 81
Run Code Online (Sandbox Code Playgroud)

我正在编辑的代码fopen用于读取文件并fprintf写入文件.我希望如果答案是这样的,那么我就不必改变那两个.

GuL*_*arn 6

我想出的最简单的方法是打开Original File,读取并将标题复制到内存中,例如a string header.然后通过写入header然后新数据覆盖整个文件