/* one way to read through the file */ #include #include #include #define MAXS 256 #define MAXG 10 typedef struct { char name[MAXS]; int grades[MAXG]; } studR; void PrintSR(studR s) { int i; printf("name: %s\n", s.name); printf("grades: "); for (i=0; i < 3; i++) { printf("%d ", s.grades[i]); } printf("\n"); } int main(void) { FILE *fp; studR AllStuds[10]; int numS, i; fp = fopen("students.txt", "r"); if (fp == NULL) { printf("Invalid file exiting\n"); exit(0); } i =0; while ( fscanf(fp, "%s %d %d %d\n", AllStuds[i].name, &(AllStuds[i].grades[0]), &(AllStuds[i].grades[1]), &(AllStuds[i].grades[2])) == 4) { i++; } numS = i; for (i=0; i< numS; i++) { PrintSR(AllStuds[i]); } exit(0); }