我想在现有文件上写一些数据。它是一个包含大约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
更新文件
#Program
#Date
#Hello
0 2 23 54
2 253 786 9887
5 23 6 81
我正在编辑的代码使用fopen
来读取文件,使用fprintf
来写入文件。我希望如果答案是这样的,那么我就不必改变这两个。
答案 0 :(得分:6)
我提出的最简单的方法是打开Original File
,读取并将标题复制到内存中,例如string header
。然后写入header
,然后写入新数据
答案 1 :(得分:2)
编写一个函数,从文件中读取标题并将它们存储到类/变量/结构中。
编写一个将标题写入文件的函数
编写一个将所需值写入文件的函数
按该顺序执行所有三个功能。它与您覆盖的文件相同的事实无关紧要,请务必在写回之前将其关闭