M
Maxying
Unregistered / Unconfirmed
GUEST, unregistred user!
我想将用户输入的数据存入自定义的文件中,例如每次输入三个值,前两个值是定长的,最后一个是段文字不定长,像这样输入了5组数据。将它们顺序存入文件后,如果用户要修改第2组数据,会出现两种问题:那个不定长的变量缩短了,结果会使文件中出现一段空隙;而如果增长了,是否将增长的部分存到文件末尾或其他空隙中然后链过去呢?时间长了肯定会出现大量文件碎片,是否有其他解决办法呢?
例如,我做一个通讯录,没给人的信息包括一下结构
struct friend
{
char name[20];
int age;
char *info;
};
其中info成员的长度是不定的,如果我向文件中存了5条这样的记录,但我想修改其中的某一条时,如果其中的info成员的长度变了,我该怎么处理?
例如,我做一个通讯录,没给人的信息包括一下结构
struct friend
{
char name[20];
int age;
char *info;
};
其中info成员的长度是不定的,如果我向文件中存了5条这样的记录,但我想修改其中的某一条时,如果其中的info成员的长度变了,我该怎么处理?