我想在一个已经存在的文件上写一些数据。它是一个包含大约8-10行头(#注释)和数千行data values的文件。我想要的是保持头部不变,但将更新的data values添加到文件中。很有可能在更新之后,我有较少的data values行。
因此,基本上,我想删除标题中最后一个#注释之后的所有内容,然后从那里开始编写新的值。这有可能吗?
下面是一个示例:
原始文件
#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写入文件。我更希望答案是这样的,这样我就不需要改变这两个问题了。
发布于 2013-05-07 16:02:32
我想出的最简单的方法是打开Original File,读取头部并将其复制到内存中,比如string header。然后通过写入header覆盖整个文件,然后是新的数据
发布于 2013-05-07 16:12:25
编写一个函数,从文件中读取头部并将它们存储到类/变量/struct中。
编写将头写入文件的函数。
编写将所需值写入文件的函数。
按照这个顺序执行所有三个函数。事实上,它是您覆盖的同一个文件,这是不相关的,只需确保在写回它之前关闭它。
https://stackoverflow.com/questions/16423538
复制相似问题