分类：电脑/网络-软件
问题：C语言文件读入结构体数组...structstudent{int 
strt student{  int    number;    char  name[10];  int    score[10];  int    sum;  float  average;};有一个这样的数组...21Number     Name  Score1      sum  averageNo.  1       a     10         10    10.00No.  2       b     20         20    20.00文件是这个.strt student{  int    number;    char  name[10];  int    score[10];  int    sum;  float  average;};有一个这样的数组...21Number     Name  Score1      sum  averageNo.  1       a     10         10    10.00No.  2       b     20         20    20.00文件是这个.第一行是有多少个人.第二行是Score里有几个数.怎样从这个文件中读入那个结构体啊啊啊啊
回答：首先用fgets从文件中读取一行作为全部的人数，转换为整数保存到变量中然后再用fgets从文件中读取一行作为成绩数量，转换为整数后保存在变量中，此数不能超过10 ，否则应该出错结束；用fgets从文件中读取一行，此行是Number Name Score1 sum average ，跳过不要然后循环：（1）用fgets从文件中读取一行，保存到字符串中，以下操作以字符串为基本数据；（2）以空格为分隔符，读取第一个字段，应该是：NO.1。。。从第三个字节开始截取，将结果转换为整数，作为student结构的number（3）以空格为分隔符，读取第二个字段，不能超过9个字符，作为name数据；（4）以成绩数量为循环上限作第二次循环，从字符串中以空格为分隔符一次读取成绩字符串，转换为整数，保存在score数组中，同时计算成绩和；（5）以空格为分隔符，读取下个字段，作为sum数据；如果此值和上面计算的 成绩和一直，保存，否则报错结束；（6）以空格为分隔符，读取下个字段，作为平均数据；循环处理全部的文件行数据必要时打印读入建议：（1）由于解析学生数据是个独立而且重复的工作，建议写成函数，两个参数：以字符串为输入参数1，另一个参数是申请好的学生信息结构指针一包存结果。返回整数：数据正确返回0，否则返回-1；（2）我在描述中已经提到多次数据有误的情况，建议你检查，以提高程序健壮性；（3）从字符串中读取字段信息，其实也是重复的简单工作，建议你写成函数，传入源字符串和分隔符，然后查找即可；函数中要注意字符串结束处理给你一个例子，你看看