salve sto imparando adesso a programmare in C grazie al uso di un manuale,il problema che mi si pone e questo:
il libro mi a dato il sorgente di questo programma che dovrebbe contare le lettere che io digito e poi stamparle a schermo il numero,il programma termina con EOF. O fatto delle ricerche e so che il carattere EOF su linux si fa digitando ctrl+c.
ma facendo cosi il programma non stampa niente ,e termina la sua esecuzione.

codice:
#include <stdio.h>
main()
{
    long nc;
    
    nc=0;
    while (getchar() != EOF)
	++nc;
    printf("%1d\n", nc); 
}
le domande sono come faccio a dare al programma EOF e concludere la sua esecuzione con la stampa dei numeri dei caratteri da me digitati "che gioco di parole "

sono sotto linux come posso inviare un file reale a questo programma o provato qualcosa del genere ma non funziona
file.txt > ./a.out
file.txt | ./a.out
ringrazzio in anticipo tutti quelli che mi d'assero una mano.