小问题,二进制文件里的索引是怎么建立??

chary8088 2006-11-29 07:17:23
二进制文件里的索引是怎么建立的?
比如皮肤文件里的最后部分是各个图片的索引
QQ的IP数据库,QQWry.dat也是为每条IP数据建立了索引

请问,这些索引是根据什么建立的???

请各位指点????最好给出代码
...全文
291 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
w_anthony 2006-11-30
  • 打赏
  • 举报
回复
LZ要便于查找,还不如用数据库呢,好像那个叫什么"伯克利DB"的,就是这种简单的二进制存储,查找也很方便的,不过我没用过
chary8088 2006-11-30
  • 打赏
  • 举报
回复
楼上的,能否说详细点???
friendzj 2006-11-30
  • 打赏
  • 举报
回复
二进制文件索引当然是自己定的数据结构.方个链表在文件结尾就行了.
chary8088 2006-11-30
  • 打赏
  • 举报
回复
索引信息指什么?????????????
chary8088 2006-11-30
  • 打赏
  • 举报
回复
索引信息指什么?????????????
shawnwan 2006-11-30
  • 打赏
  • 举报
回复
作为结构吧,保存你自己想要的索引信息啊,还能有什么
chary8088 2006-11-30
  • 打赏
  • 举报
回复
索引里面保存的是什么??
chary8088 2006-11-30
  • 打赏
  • 举报
回复
但是,如果存储数据量多的话,没有索引,效率低;看资料上说

我发现很多文件都有索引,都是在这些文件的最后部分
不知道根据什么建立的?
Elysium 2006-11-30
  • 打赏
  • 举报
回复
你自己定义一个结构存进去,按项读取也一样实现这种效果
或者XML文件也可以
Elysium 2006-11-30
  • 打赏
  • 举报
回复
个人感觉它就是一个struct,以二进制文件存储
chary8088 2006-11-30
  • 打赏
  • 举报
回复
自己UP
难道没人知道?/

我不信!!
feiqing8088 2006-11-30
  • 打赏
  • 举报
回复


主  题: 散布一个换皮肤软件(Skin)的源代码
作  者: chinagaici (山沟里跑出来的穷小子)

皮肤文件拥有二级索引,第一级索引用于查找某一类型窗口数据块的位置和长度,在某一个类型窗口数据块的首部是第二级索引,用于查找该类型窗口使用的各个资源所在的位置,长度和类型
1. 文件标志
文件的前4个字节必须是“BMP/0”, 用来标志此文件是皮肤文件。
| 4 |
“BMP/0”
2. 一级索引结构
从文件的第5个字节开始,是文件的第一级索引,它的长度不是固定的,视窗口类型的多少而定。为了能够确定这个索引结构的长度,在这个结构的开始4个字节存储了一级索引的项数。每一项由三个字段组成:窗口的类型(20 byte),数据块的起始位置(4 byte)和数据块的长度(4 byte)。
| 100 | 4 | 4 |
| 4 |
6
“MainWnd”
“Button”
“RadioButton”
“CheckBox”
“ComboBox”
“ListBox”

3. 二级索引结构
根据第一级索引结构可以找到某一窗口类型的数据块,在这个数据块内,第一部分是第二级索引结构,接着是真正的资源数据。同一级索引结构一样,为了确定第二级索引结构的长度,在索引结构的前4个字节里记录了索引包含了多少项。

这里面就是用的这种方式

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧