struct-结构体初始化问题,想要存入结构体中的数据写在了txt文件中,这样写可以实现初始化吗

作者:用户 来源:互联网 浏览:715 次 时间:2016-05-30 18:19:58

struct

struct-结构体初始化问题,想要存入结构体中的数据写在了txt文件中,这样写可以实现初始化吗 - 摘要: 结构体初始化问题,想要存入结构体中的数据写在了txt文件中,这样写可以实现初始化吗//定义结构体//structachievement{intnumber;charname[20];charsex;f

问题描述

结构体初始化问题,想要存入结构体中的数据写在了txt文件中,这样写可以实现初始化吗

//定义结构体//
struct achievement
{int number;
char name[20];
char sex;
float achievement1achievement2achievement3;
}tab_achievement[N];

//读出文件函数//
void read()

{FILE *fp;
int in;
if((fp=fopen(""C:UsersAdministratorDesktopab.txt""rb""))==NULL) //如果不能打开文件
{printf(""cannot open filen"");
exit(0); //使程序终止
}

for(i=0;i<n;i++)
{fread(&tab_achievement[i]sizeof(struct achievement)1fp); //从fp指向的文件读入一组数据
}
fclose(fp); //关闭文件
}

解决方案

应该可以,但你的文件中保存的数据也必须是按格式与大小写入的。否则,读到的数据会是错的!
还有一个方法,直接读取结构体数据,不有一个个结构体来读取:
fread(&tab_achievement[0]sizeof(struct achievement)nfp);

解决方案二:

如果你的txt里面是按2进制形式,并且是按照achievement的字节对齐的格式, 存储的数据, 就可以这样读

【云栖快讯】诚邀你用自己的技术能力来用心回答每一个问题,通过回答传承技术知识、经验、心得,问答专家期待你加入!  详情请点击
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

现在注册,免费体验40+云产品,及域名优惠!

云服务器9.9元/月,大学必备

热点导航