La funzione fflush () in C ++ scarica tutti i dati memorizzati nel buffer sul rispettivo dispositivo.
I dati memorizzati nel buffer sono i dati temporanei o specifici dell'applicazione archiviati nella memoria fisica del computer fino a un determinato momento.
La funzione fflush () è definita nel file di intestazione.
prototipo fflush ()
int fflush (FILE * stream);
Se stream è un flusso di output o un flusso di aggiornamento la cui ultima operazione è stata emessa, la chiamata alla funzione fflush () scriverà tutti i dati memorizzati nel buffer non scritti nel dispositivo di output associato.
Se stream è un puntatore nullo, tutti i flussi di output aperti vengono scaricati.
Il comportamento non è definito per i flussi di input e per i flussi di aggiornamento la cui ultima operazione è stata inserita.
Parametri fflush ()
- stream: lo stream da scaricare.
fflush () Restituisce il valore
La funzione fflush () restituisce:
- Zero sul successo.
- EOF in caso di errore e imposta l'indicatore di errore del flusso di file.
Esempio: come funziona la funzione fflush ()?
#include #include int main() ( int x; char buffer(1024); setvbuf(stdout, buffer, _IOFBF, 1024); printf("Enter an integer - "); fflush(stdout); scanf("%d",&x); printf("You entered %d", x); return(0); )
Quando esegui il programma, l'output sarà:
Inserisci un numero intero - 2 Hai inserito 2
Nel programma sopra, prova a rimuovere la riga fflush(stdout)
ed esegui il programma per vedere l'effetto di fflush. La stringa "Immettere un numero intero -" non verrà scritta sullo schermo a meno che non venga cancellata.