一个数据文件如何存储?
分成这么几个部分:
1. 文件头,一个结构体。这个结构体包含了一些必须的信息。这些信息足够可以识别文件类型,信息,标志位,记录总数.
//定义这个结构的意义是为了确定tagFileInfo结构的版本,这样可以确定tagFileInfo的变量初始化的时候怎么调用,并为更好的扩展做好支持。
struct tagVersion
{
int nSize; //保存版本结构体所占字节大小
char szVersion[MAX_PATH]; //版本号信息
};
//保存文件头的信息
struct tagFileInfo
{
int nSize; //保存这个机构体的
int nCount; //记录的条数
char szInfo[MAX_PATH]; //文件描述的信息
char szDeserve[MAX_PATH];
};
2. 记录,保存需要保存记录的信息
struct tagRecord
{
char szPath[MAX_PATH];
char szFile[MAX_PATH];
BOOL bInclude;
char szDeserve[MAX_PATH];
};
需要提供的一些接口函数:
//根据 nIndex 获取相关记录信息
BOOL GetRecordInfo(int nIndex, tagRecord* pRecord);
//保存一条新的记录
BOOL WriteRecordInfo(tagRecord record);
//根据 nIndex 修改一条记录
BOOL FixRecord(int nIndex, tagRecord* pRecord);
//获取记录的总条数
int GetRecordCount();