Archivio per la tag 'C++'
Se leggendo un file (di testo o binario) vogliamo sapere se ci troviamo all’ultimo carattere - e non se siamo alla fine del file - è sufficiente che utilizziamo la funzione istream::peek :
if (in.peek() != EOF) {
// Azioni da compiere se non siamo all'ultimo carattere
// (e quindi il carattere successivo non è la fine del file)
}
E’ da notare che cstdio::feof non avrebbe funzionato allo stesso modo, in quanto siamo all’ultimo carattere, ma la fine del file non è ancora stata raggiunta. In questi casi è necessario utilizzare la funzione istream::peek che tenta di leggere il carattere successivo senza estrarlo (cioè lasciandolo come prossimo carattere da estrarre dallo stream).
