C, wie man fgets und fscanf zusammen benutzt

Ich habe eine Hausaufgabe Form univ. das heißt, verwenden Sie die Datei IO.

Es gibt so etwas wie diese TXT-Datei:

Brian
s213551 50 70 70 50
Alex Fernandes
s210011 70 81 50 89
Young Lee
s211213 60 80 60 90
... and more

Ich muss diese Datei lesen und in struct var speichern. und prof. sagte zu mir. Ich muss fgets und fscanf zusammen verwenden. Wenn ich nur fscanf benutze, funktioniert es nicht gut, weil "Alex Fernandes" Platz darin hat.

aber obwohl ich fgets und fscanf zusammen benutze, funktioniert es nicht .. also brauche ich Hilfe u.

das ist meine quelle:

#include <stdio.h>
#include <stdlib.h>

typedef struct sMember{
        char name[10];
        char id[10];
        int score[4];
        double avg;
        char grade;
}MEM;

int main(int argc, char *argv[])
{
  MEM member[50];
  FILE *f;
  char fileName[10];
  char s[512];
  int i;
  printf("File Name : ");
  scanf("%s", fileName);
  fflush(stdin);

  i=0;
  if((f = fopen(fileName, "r")) != NULL )
  {

//        while(!feof(f)) 
          while(fgets(member[i].name, sizeof(member[i].name), f) != 0)
        {
         fscanf(f, "%s %d %d %d %d", member[i].id, &member[i].score[0], &member[i].score[1], &member[i].score[2], &member[i].score[3]);

         printf("%s %s %d %d %d %d\n", member[i].name, member[i].id, member[i].score[0], member[i].score[1], member[i].score[2], member[i].score[3]);
         //printf("t: %s\n", member[i].name);
         i++;               
        }
  } 
  else 
  {
      printf("File is Not Exist.\n"); 
  }


  fclose(f);
  system("PAUSE");  
  return 0;
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage