Читать из.txt C

У меня проблемы с языком Си..

У меня есть один файл TXT с различными строками в форме:

F   65  S   4   1   139.56  3704.26

и моя программа:

p = fopen("dados.txt", "r");

if ( p == NULL) {
    printf("\n\nNao foi possivel abrir o arquivo.\n");
    exit(1);
}else{
      while ( !feof(p) ){
      fscanf(p,"%c %d %c %d %d %f %f",
          &sexo,&idade,&estadoCivil,&numFilhos,&freq,&mediaGasto,&mediaSalarial);

      printf("%c %d %c %d %d %f %f\n",
          sexo,idade,estadoCivil,numFilhos,freq,mediaGasto,mediaSalarial);
      }

возврат:

выглядит плохо...

если я изменю в fscanf: от%c до%f

возврат:

выглядит отлично, но переменная idade всегда 0...:S

Что мне делать?

1 ответ

Решение

Вы должны добавить новую строку к вашему scanf вызов:

  fscanf(p,"%c %d %c %d %d %f %f\n",
      &sexo,&idade,&estadoCivil,&numFilhos,&freq,&mediaGasto,&mediaSalarial);

Без перевода строки в scanfпервая строка будет правильной, но следующая строка назначает новую строку из ввода sexo,

Другие вопросы по тегам