Chinaunix

标题: 关于文件中记录删除的问题 [打印本页]

作者: JustUSTC    时间: 2006-12-03 20:34
标题: 关于文件中记录删除的问题
假设:
      我有一个文件(mem.bin), 里面存储了10个记录(用struct形式, 每个40 bytes),其大小为: 400 bytes
问题:
      我想对其中的一个进行删除, 怎么样才能再删除一个记录以后使mem.bin的大小变为 360 bytes呢?
作者: flw2    时间: 2006-12-03 22:58
如果非要删除,读出来,然后写。
作者: JustUSTC    时间: 2006-12-03 23:37
随着文件的增大效率会很低吧.
不知道数据库文件是怎么实现的
作者: zw2002    时间: 2006-12-04 11:03
原帖由 flw2 于 2006-12-3 22:58 发表
如果非要删除,读出来,然后写。

是整个文件都读出来,然后再写还是读一行,删除或重写一行啊
作者: 思一克    时间: 2006-12-04 12:24
数据库删除记录仅仅做个标记。不移动后面的(压缩)。否则代价太大了。

在有空闲的时间,压缩。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2