Lendo um arquivo C, leia uma linha extra, por quê?
Eu não sei exatamente porque um ponteiro de arquivo lê uma linha extra de um arquivo, especificamente a última linha, aqui está o código:
<code>FILE *fp ; fp = fopen ("mac_ip.txt", "r") ; int mac; char *ip = (char *) malloc(15); while(!feof(fp)){ fscanf(fp,"%i",&mac); fscanf(fp,"%s",ip); printf("MAC: %i\n",mac); printf("IP: %s\n",ip); } </code>
e o arquivo tem exatamente 20 linhas, mas a linha 20 é impressa duas vezes.
Qual é o erro?
Desde já, obrigado.