C++怎样把二进制文件赋给链表结点

来源:百度知道 编辑:UC知道 时间:2024/05/05 07:06:09
结点包括整型和浮点型
例如文件里存储了几个人的资料:名字,年龄,收入。
怎样分别存进head->name,head->age,head->income

各位大虾谢谢!!

这个二进制文件的结构你应该是知道的吧。如果不知道,那这段二进制buf是没法处理了。。。
在知道结构时,例如知道名字是一个长度为100字节的字符串,年龄和收入是一个int或者unsigned int型。可以这样存储:
char filebuf[1024] = {0}; //不知道长度够不够,自己改
fopen()...fread()...//打开文件并读到filebuf中

char * pointInfo = filebuf;
while(...)
{
memcpy(head->name,pointInfo,sizeof(head->name));//获取名字
pointInfo += sizeof(head->name);
head->age = *(int*)pointInfo;
pointInfo += sizeof(int);
head->income = *(int*)pointInfo;
pointInfo += sizeof(int);
}
差不多了。对链表新建节点和插节点就不讲了。注意
head->name字符串的长度和结束符。