在二进制文件中删除记录
Deleting a record within a binary file?
最后一周我一直在用二进制文件弄乱。我不知道该怎么做的一件事是从二进制文件中选择性删除记录。在C 中可能可以吗?如果没有,您可以做什么。
我正在考虑,也许可以创建一个没有内部记录的重复文件,但是对于非常大的数据文件来说,这似乎效率低下。有什么更有效的方法,还是有效地复制文件的任何方法?我很惊讶有删除文件的方法,但没有从文件中选择性删除。
与内存中的数据结构不同,您无法从文件中删除记录。您必须:
- 将文件的内容读取到内存数据结构
- 从内存中删除数据结构的相关数据。
- 将最新的数据结构写回文件。
只需确保记录曾经有一个标志"已删除",该标志是在第一次编写记录时设置为false的标志,但是如果要标记删除记录,则将其更改为true。
相关文章:
- CRUD(添加/查看/编辑/删除/查看所有记录)
- 在二进制文件中删除记录
- 如何从 STL 列表中删除结构记录
- 删除为应该在哈希表中的记录返回 false 的函数
- 无法从我创建的 c 二进制程序中删除记录
- 从我自己的类类型的指针数组中删除记录
- STL向量和地图在删除一组记录时应该更喜欢
- 有效地删除所有重复的记录
- 基本的新建/删除操作员日志记录
- 如何在 android L 上加载 OpenCV 时删除日志记录语句
- 如何从 C 中的文件中删除记录(保存的记录是结构的)
- 从文件C++中删除记录
- 使用C++删除Internet Explorer 8历史记录、Cookie、缓存和密码
- 记录集更新和删除失败(ODBC)
- 使用数组删除记录
- 关于在c++中删除/更新txt文件中的记录
- 如何从映射中删除所有具有相同值但不同键的记录
- 在c++中删除文件中的记录
- 更新二进制文件中的学生记录,同时删除以前的数据
- 从二进制文件中删除记录