删除二进制文件中的记录?

时间:2017-04-27 04:21:53

标签: c++ binaryfiles

我整整一周一直在搞乱二进制文件。我无法弄清楚如何做的一件事是有选择地从二进制文件中删除一条记录。 这在c ++中是否可行?如果没有,你可以采取什么方式做到这一点。

我正在考虑,也许在没有内部记录的情况下创建一个重复的文件,但对于非常大的数据文件来说这似乎效率很低。任何更有效的方法,或任何有效复制文件的方法?我很惊讶那里有删除文件的方法,但没有选择性地从文件中删除。

2 个答案:

答案 0 :(得分:4)

与内存中的数据结构不同,您无法从文件中提取记录。你必须:

  1. 将文件内容读入内存数据结构
  2. 从内存中的数据结构中删除相关数据。
  3. 将更新的数据结构写回文件。

答案 1 :(得分:0)

确保记录中有一个标记"删除"第一次写入记录时设置为false,但如果要标记删除的记录则更改为true。