c语言怎么把结构体数组写入txt文件

2020-11-14 科技 75阅读
fopen("student.txt","wb")
b就是二进制的意思。你用二进制形式将student.txt打开
而fwrite也是将内存中的数据不经转换直接写入文件,所以文件中保存的是二进制形式,当然看到乱码了。
你试试:
if((fp1=fopen("student.txt","w"))==NULL)
{printf("cannot open this file\n");
exit(0);
}
printf("No Name Eng point Math point Phy point\n");
for(i=0;i{scanf("%s,%s,%d,%f,%d,%f,%d,%f",student[i].no,student[i].name,&student[i].eng,&student[i].point1,
&student[i].math,&student[i].point2,&student[i].phy,&student[i].point3);
student[i].ave=(student[i].eng+student[i].math+student[i].phy)/3.0;
fprintf(fp1,"%s,%s,%d,%f,%d,%f,%d,%f",student[i].no,student[i].name,student[i].eng,student[i].point1,
student[i].math,student[i].point2,student[i].phy,student[i].point3);
}
就是用fprintf函数写入文件,你试试看吧。
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com