Función de biblioteca C - fflush ()

Descripción

La función de la biblioteca C int fflush(FILE *stream) vacía el búfer de salida de una secuencia.

Declaración

A continuación se muestra la declaración de la función fflush ().

int fflush(FILE *stream)

Parámetros

  • stream - Este es el puntero a un objeto FILE que especifica una secuencia almacenada en búfer.

Valor devuelto

Esta función devuelve un valor cero en caso de éxito. Si ocurre un error, se devuelve EOF y se establece el indicador de error (es decir, feof).

Ejemplo

El siguiente ejemplo muestra el uso de la función 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);
}

Compilemos y ejecutemos el programa anterior que producirá el siguiente resultado. Aquí el programa sigue almacenando búfer en la salida enbuff hasta que enfrente la primera llamada a fflush(), después de lo cual vuelve a comenzar a almacenar en búfer la salida y finalmente duerme durante 5 segundos. Envía la salida restante al STDOUT antes de que salga el programa.

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