читать из .txt C - PullRequest
       2

читать из .txt C

3 голосов
/ 12 декабря 2011

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

У меня есть один файл 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);
      }

возврат:

enter image description here

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

если я изменю в fscanf:% c на% f

возврат:

enter image description here

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

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

1 Ответ

4 голосов
/ 12 декабря 2011

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

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

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

...