Хотя цикл в C повторяется дважды, прежде чем запрашивать ввод пользователя - PullRequest
0 голосов
/ 07 мая 2018

Я пытаюсь сделать цикл while, который читает вопросы из файла, получает входные данные от пользователя и проходит через них до тех пор, пока не достигнет конца файла вопросов.

Моя проблема в том, что цикл повторяется дважды, прежде чем запрашивать ввод у пользователя.

  fp = fopen("questions.txt","r");
  fp2 = fopen("answers.txt","w");

  char buff[255];
  char input[255];

  while (fscanf(fp,"%s",buff)!=EOF) 
  {
      printf(" %s", buff);
      printf("answer:");
      fgets(input,256,stdin);
      fprintf(fp2,"\n");
      fprintf(fp2,"%s",buff);
      fprintf(fp2,"\n");
      fprintf(fp2,"%s",input );
  };

1 Ответ

0 голосов
/ 07 мая 2018

Попробуйте сделать что-то вроде:

char question[SIZE];
char answer[SIZE];

FILE * fin = fopen("questions.txt", "r");
FILE * fout = fopen("answers.txt", "w");

while (fgets(question, SIZE, fin) != NULL) {
    printf("%s", question);
    fgets(answer, SIZE, stdin);
    fputs(answer, fout);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...