c语言中关于二进制文件中是不是有记录的位置就不能再写入啦?

来源:百度知道 编辑:UC知道 时间:2024/05/07 18:09:24
具体是这样的,我定义了一个结构,记录学生信息的,我通过结构向二进制文件中写入学生信息,现在想改,所以我先把这一条信息读出来,修改一下写进去,是不是写不进去啊?那么怎么在文件中删除这条记录呢?

写入是可以的,但是他写入的方式是覆盖,而不是插入。

比如1.txt的内容是abc,如果你在开始的位置写入12,数据就变成
12c,所以我们经常是将数据全部装载到内存中,然后更改文件名称,将改写好的数据写到新文件,再删除旧文件。

你用word写doc文件都会看见一个隐藏的临时文件吧,那个就是为改写和备份目的而存在的。

可以