c语言文件操作常见问题,c语言文件操作问题

这段代码的年级和排名读取不出来,但别的都能读出来,不知道是什么原因?

#include

#include

#include

#define STUDENT_NUM 1 //学生人数

#define COMMAND_LEN 6 //命令字符数

typedef struct studentMessage

{

char stuCount[11];//学号

char name[12];//姓名

char grade;//年级

int classNum;//班级

char phoneNum[12];//手机号码

char address[20];//住址

//成绩

int Marktotal;//总成绩

int MarkCh;//语文

int MarkMath;//数学

int MarkEn;//英语

int rankNum;//排名

}stuM;

int file(void)

{

stuM student[STUDENT_NUM];

int i,j;

FILE * fp = fopen("E:\\c_test.txt","r");//读文件中的字符

for(i = 0;i < STUDENT_NUM;i++)

{

fscanf(fp,"%s %s %c %d %s %s %d %d %d %d %d\n",student[i].stuCount,student[i].name,&student[i].grade,&student[i].classNum,student[i].phoneNum,student[i].address,&student[i].Marktotal,&student[i].MarkCh,&student[i].MarkMath,&student[i].MarkEn,&student[i].rankNum);//用定义的数组类型接收读取到的字符

if(feof(fp))// 代表着字符串的结束

break;

}

for(j = 0;j < STUDENT_NUM;j++)

{

printf("%3d ",j + 1);

printf("%s %s %c %d %s %s %d %d %d %d %d\n",student[j].stuCount,student[j].name,&student[i].grade,student[j].classNum,student[j].phoneNum,student[j].address,student[j].Marktotal,student[j].MarkCh,student[j].MarkMath,student[j].MarkEn,&student[j].rankNum);

}

getch();

return 0;

}

int main(void)

{

file();

getch();

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值