Attenzione....EOF è una costante, se scrivi
codice:
while(EOF)
non uscirà mai dal ciclo e se scrivi
codice:
while(!EOF)
non ci entra mai.

Prova a guardarti questa funzione.