Lesen Sie eine C-Datei, lesen Sie eine zusätzliche Zeile, warum?
Ich weiß nicht genau, warum ein Dateizeiger eine zusätzliche Zeile aus einer Datei liest, insbesondere die letzte Zeile. Hier ist der Code:
<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>
und die Datei hat genau 20 Zeilen, aber die Zeile 20 wird zweimal gedruckt.
Welches ist der Fehler?
Danke im Voraus.