Czytanie pliku C, przeczytaj dodatkowy wiersz, dlaczego?
Nie wiem dokładnie, dlaczego wskaźnik pliku odczytuje dodatkową linię z pliku, a konkretnie ostatnią linię, oto kod:
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);
}
plik ma dokładnie 20 linii, ale linia 20 jest drukowana dwukrotnie.
Jaki jest błąd?
Z góry dziękuję.