Fonction de bibliothèque C - fflush ()

La description

La fonction de bibliothèque C int fflush(FILE *stream) vide le tampon de sortie d'un flux.

Déclaration

Voici la déclaration de la fonction fflush ().

int fflush(FILE *stream)

Paramètres

  • stream - Il s'agit du pointeur vers un objet FILE qui spécifie un flux mis en mémoire tampon.

Valeur de retour

Cette fonction renvoie une valeur nulle en cas de succès. Si une erreur se produit, EOF est renvoyé et l'indicateur d'erreur est activé (ie feof).

Exemple

L'exemple suivant montre l'utilisation de la fonction 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);
}

Compilons et exécutons le programme ci-dessus qui produira le résultat suivant. Ici, le programme continue de tamponner dans la sortie dansbuff jusqu'à ce qu'il fasse face au premier appel à fflush(), après quoi il recommence à mettre en mémoire tampon la sortie et se met finalement en veille pendant 5 secondes. Il envoie la sortie restante au STDOUT avant la sortie du programme.

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