Durante la programmazione in C di Ritchie e kernighan, ho trovato il seguente codice.
#include<stdio.h>
int main() {
int t;
t = getchar();
while ((t=getchar()) != EOF) {
putchar(t);
}
return 0;
}
Non riesco a capire come può una variabile di tipo intero c, essere usata per gestire il flusso di testo bufferizzato,
delimitato da newline o ctrl-D,
Quando ci ho provato,
printf("%d",getchar());
mi sta dando il valore ASCII
del solo primo carattere, ma qui t
sembra manipolare l'intero buffer
finché non premo invio,
e quando premo ctrl-D
tra le righe, copia solo il precedente contenuto del buffer.
significa ctrl-D
è un delimiter
oltre a "EOF"?
Qualcuno può spiegarmi la logica dietro?