求助C语言.dat数据文件和.idx索引
生成数据文件*.dat,*.idx.
dat文件存放实际数据,idx文件中存放某一条数据在对应的dat文件中的位置
Dat文件格式如下:
文件头:8个字节,前4个字节为版本号,之后4个字节为文件创建时间
字段声明:
循环[有多少个字段就有多少个声明]
(
第一个字节为字段名称长度,第2个字节开始是该长度所确定的字段名称,必须为可见char类型。之后一个字节是该字段的类型编码,再2个字节是该字段的长度。如果是0x00,0x00则表示该字段为变长类型。
)
数据:
表示字段声明中声明的数据,定长类型的长度可知,依次驱除,变长类型的前2个字节表示变长的长度,后面该字段的数据表示该字段内容。
idx文件格式:
文件头:8个字节,前4个字节为版本号,之后4个字节为文件创建时间
字段声明:(索引)
循环[有多少个字段就有多少个声明]
(
第一个字节为字段名称长度,第2个字节开始是该长度所确定的字段名称,必须为可见char类型。之后一个字节是该字段的类型编码,再2个字节是该字段的长度。如果是0x00,0x00则表示该字段为变长类型。
)
数据:
表示字段声明中声明的数据,定长类型的长度可知,依次驱除,变长类型的前2个字节表示变长的长度,后面该字段的数据表示该字段内容,再4个字节表示该行记录在对应的dat文件中的位置。
写程序,实现按照数据的要求,生成以上2种文件,并且能够新增,删除,更新记录。
可以根据idx文件中的字段去查找在dat文件中该行的所有数据。
我一开始用结构存放各数据但是有内存对齐问题,请问我应该用什么格式来写呢?