Funzione libreria C - fflush ()

Descrizione

La funzione di libreria C. int fflush(FILE *stream) svuota il buffer di output di un flusso.

Dichiarazione

Di seguito è riportata la dichiarazione per la funzione fflush ().

int fflush(FILE *stream)

Parametri

  • stream - Questo è il puntatore a un oggetto FILE che specifica un flusso memorizzato nel buffer.

Valore di ritorno

Questa funzione restituisce un valore zero in caso di successo. Se si verifica un errore, viene restituito EOF e viene impostato l'indicatore di errore (cioè feof).

Esempio

L'esempio seguente mostra l'utilizzo della funzione fflush ().

#include <stdio.h>
#include <string.h>

int main () {

   char buff[1024];
   
   memset( buff, '\0', sizeof( buff ));
   
   fprintf(stdout, "Going to set full buffering on\n");
   setvbuf(stdout, buff, _IOFBF, 1024);

   fprintf(stdout, "This is tutorialspoint.com\n");
   fprintf(stdout, "This output will go into buff\n");
   fflush( stdout );

   fprintf(stdout, "and this will appear when programm\n");
   fprintf(stdout, "will come after sleeping 5 seconds\n");
   
   sleep(5);
   
   return(0);
}

Compiliamo ed eseguiamo il programma precedente che produrrà il seguente risultato. Qui il programma continua a bufferizzare nell'output inbuff finché non deve affrontare la prima chiamata a fflush(), dopodiché riprende a eseguire il buffering dell'output e alla fine si ferma per 5 secondi. Invia l'uscita rimanente a STDOUT prima che il programma esca.

Going to set full buffering on
This is tutorialspoint.com
This output will go into buff
and this will appear when programm
will come after sleeping 5 seconds