首页 > 代码库 > 保存结构体到本地(二进制)
保存结构体到本地(二进制)
#include <stdio.h>
typedef struct student
{
float score1;
float score2;
float score3;
float avr;
}STUDENT;
void save(STUDENT * student)//以二进制形式保存
{
FILE *fp=NULL;
fp=fopen("test.bin","wb");
if(fp==NULL)
printf("文件为空");
if(fwrite((void*)student,sizeof(STUDENT),1,fp)!=1)
printf("写入失败");
}
int main()
{
int i;
STUDENT stu[3]={{0}};
for(i=0;i<3;i++)
{
printf("请输入第%d个同学的成绩:",i+1);
scanf("%3f %3f %3f",&stu[i].score1,&stu[i].score2,&stu[i].score3);
}
for(i=0;i<3;i++)
{
stu[i].avr=(stu[i].score1+stu[i].score2+stu[i].score3)/3;
printf("第%d个同学的成绩是:%f %5f %5f %5f",i+1,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].avr);
printf("\n");
}
for(i=0;i<3;i++)
save(&stu[i]);
printf("\n");
return 0;
}
保存结构体到本地(二进制)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。