credo che il motivo sia questo: la fgets legge i caratteri fino a raggiungere il carattere \n, e lì si ferma. EOF si trova dopo l'ultimo carattere, quindi la feof ritorna 0 perchè sta una posizione prima dell'EOF. alla successiva iterazione leggerà EOF e tornerà 1.
Magari puoi provare a verificare questa cosa mettendo all'ultima iterazione (se sai il numero di linee puoi usare un semplice contatore) una fgetc dopo la fgets.

 
			
			 
					
					
					
						 Rispondi quotando
  Rispondi quotando