c语言,怎么从文件读取数据到结构体,求助

下面是代码include<stdio.h>#include<stdlib.h>#include<string.h>#defineN100//定义宏(学生人数)方便后面引用#defineM2//课程数目intchoice,i,j,number;//定义全局变量FILE*fp;str... 下面是代码 include <stdio.h>#include <stdlib.h>#include<string.h>#define N 100//定义宏(学生人数)方便后面引用#define M 2//课程数目int choice,i,j,number;//定义全局变量FILE *fp;struct student//定义全局结构体数组{ char name[20];//姓名 int num;//学号 char sex;//性别 char classes[5];//班级 int score[M];//各科成绩}stu[N];void in();void desktop();void desktop()//初始界面,实现人机交互{ printf("****************************\n"); printf("欢迎进入C语言课程管理系统\n"); printf("1.学生信息系统\n"); printf("2.出勤登记系统\n"); printf("3.作业提交系统\n"); printf("4.成绩管理系统\n"); printf("5.系统退出\n"); printf("请输入要进入的子系统序号:\n"); }int main(){ desktop(); scanf("%d",&choice); switch(choice) { case 1:in();break; default:printf("enter data error!\n"); } return 0;}void in(){ if((fp=fopen("information.txt","r+"))==NULL) { printf("文件打开出错啦\n"); exit(0); } printf("姓名 学号 性别 班级 工数 电路\n"); i=0; while(!feof(fp))//从文件中读取数据到结构体 { fscanf(fp,"%s%d%c%s%d%d",stu[i].name,&stu[i].num,&stu[i].sex,stu[i].classes,&stu[i].score[0],&stu[i].score[1]); i++; } fclose(fp); for(j=0;j<i;j++) { printf("%s%d%c%s%d%d\n",stu[j].name,stu[j].num,stu[j].sex,stu[j].classes,stu[j].score[0],stu[j].score[1]); }} 有txt文本,存者三个人的信息 然后我运行出来的就是这样了,求大神指导 展开  

第1个回答  2020-06-16
while(!feof(fp)) { //从文件中读取数据到结构体
fscanf(fp,"%s%d%s%d%d",stu[i].name,&stu[i].num,&stu[i].sex,stu[i].classes,
&stu[i].score[0],&stu[i].score[1]);
i++;
}
information.txt格式:
小红
2014003

一班
99
100
//
数据间用空格隔开
...............................................
相似回答