我在C中编写一个小程序,我希望可以选择将数据保存到文件,然后从该文件中读取它。数据很大,所以我想以某种方式动态写入文件,而不必创建新文件并将修改后的旧文件复制到其中。
这就是我想要做的事情: 在第一行,我想要"描述"形式的数据"%s%s%s ...%s \ n"其中%s是一个字符串,第n个字符串描述第n + 1行中的数据。我想阅读文件的第1行,扫描相应的"描述" string,如果它不存在,则将其附加到第一行,并将该数据追加到文件的最后一行之后。
问题是 - 是否可以跳过"跳跃"进入文件中的行而不扫描所有前面的行,我可以以某种方式读取文件的第一行并在读取后附加一些内容吗?或者也许这不是解决这种情况的方法,C提供了某种不同的解决方案?
答案 0 :(得分:2)
您可以使用stdio
和fseek()
完成所需操作。只要您知道要使用的字节偏移量,就可以覆盖和/或附加文件中的任何位置,而无需先读取数据,也不会覆盖您要覆盖的数据。您不能轻易做的是插入数据,即打开文件,将其分成两半并将数据放入其中。
不太确定这是不是你的意思......