Quote Originariamente inviata da linux_r Visualizza il messaggio
Però quello che non capisco è:
Tratto da Programmare in c:
Alcune funzioni dispongono di un buffer dove il sistema operativo memorizza tutti i caratteri finchè l'utente non preme invio per inviarli al flusso stdin. Altre sono prive di buffer, quindi ogni carattere è inviato a stdin non appena viene premuto il tasto corrispondente.

Che significa inviare al flusso di stdin,cioè dal buffer passano al flusso di stdin e dopo vengono letti dal programma?
La scelta fraseologica di codesto testo (probabilmente tradotto) lascia davvero a desiderare. Ciò che avviene, molto grossolanamente, si può descrivere nel modo seguente: il flusso di tasti che costituisce lo stdin viene "travasato" nel buffer di cui sopra, e da lì - alla pressione di ENTER - viene poi reso disponibile a funzioni come getchar().

In realtà qui dovremmo anche sviscerare il concetto nativo di unix, e quindi del C originale, secondo cui "everything is a file", ma ritengo realmente inutile complicare la trattazione in questo momento.