数据已经给你读取到数组中了,剩下的自己写吧
#include <stdio.h>
typedef struct {
char id[10];
char name[20];
size_t score;
} student_t;
size_t read_data(student_t student[], FILE *fp) {
size_t i;
for(i = 0; fscanf(fp, "%s", student[i].id) != EOF; ++i) {
fscanf(fp, "%s", student[i].name);
fscanf(fp, "%lu", &student[i].score);
}
return i;
}
void print_data(student_t student[], size_t count) {
for(size_t i = 0; i < count; ++i)
printf("%s %s %lu\n", student[i].id, student[i].name, student[i].score);
}
int main(void) {
student_t student[100];
FILE *fp = fopen("student.txt", "r");
size_t count = read_data(student, fp);
print_data(student, count);
fclose(fp);
return 0;
}
|