以此代码为基础,但需要处理的文件名为a,应该怎样处理才能读取数据
#include<stdio.h>
#include<stdlib.h>
#define N 20
struct student
{
char num[10];
char name[20];
int score1;
int score2;
float sumscore;
int rank;
}stu[N];
void readFile() //读取文本信息
{
int i;
FILE *fp;
char name[20]="各同学成绩.txt";
char str[50];
if((fp= fopen(name,"r"))==NULL)
{
printf("error\n");
exit(0);
}
//读列头
fgets(str,50,fp);
printf("%s",str);
for( i=0;i<N;i++)
{
fscanf(fp,"%s%s%d%d\n",stu[i].num,stu[i].name,&stu[i].score1,&stu[i].score2);
printf("%s %s\t %d\t %d\n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2);
}
fclose(fp);
}
需要处理的文件名为a,应该怎样修改代码才能读取数据
文本文件没有办法修改,只能全部读取到内存的数组/结构体,修改,然后再一次性写回去。
1、char name[20]="各同学成绩.txt";改成char name[20]="a.txt";
2、fscanf(fp,"%s%s%d%d\n",stu[i].num,stu[i].name,&stu[i].score1,&stu[i].score2);改成fscanf(fp,"%s %s %d %d\n",stu[i].num,stu[i].name,&stu[i].score1,&stu[i].score2);请根据a文档数据存储的具体格式修改。