Comment utiliser la fonction fflush dans la programmation C

Comment utiliser la fonction fflush dans la programmation C
La fonction fflush () est l'abréviation du «tampon de fichier de rinçage», car il ressort clairement de son nom que sa fonction consiste à effacer un contenu. En programmation C, il est utilisé pour effacer le tampon afin que le flux de sortie (STDOUT) puisse afficher la sortie.

Dans cet article, nous expliquerons la fonction fflush () en programmation C à l'aide d'exemples.

Qu'est-ce que la fonction fflush () dans la programmation C

Avant de comprendre le fflush (), nous comprendrons ce qu'est un tampon? Voyons un exemple; Nous regardons une saison sur Netflix, le Netflix tamponne continuellement le contenu de la vidéo pour les prochaines minutes, vous n'avez donc pas besoin d'attendre que la vidéo se charge, ce téléchargement est appelé tampon. En programmation C, le tampon fonctionne de la même manière. Les valeurs stockées dans le tampon peuvent devenir la raison de résultats inattendus.

Pour effacer le tampon, nous utilisons la fonction fflush (). Voyons un exemple:

#inclure
int main()
fprintf (stdout, "c'est Linuxhint. ");
fprintf (stderr, "Il s'agit de fflush (). ");
fprintf (stdout, "Ceci est expliqué en utilisant la programmation C. \ n ");
retour 0;

Tapez le code dans le fichier texte, TestFile.C, puis compiler ce fichier à l'aide d'un compilateur, comme nous utilisons Linux, nous allons donc compiler le fichier à l'aide du compilateur GCC:

$ gcc testfile.C -o TestFile

Le fichier a été compilé sans aucune erreur et avertissement, nous allons donc exécuter le code ci-dessus

$ ./ TestFile

La sortie du fichier ci-dessus n'est pas attendue, le "c'est Linuxhint."Devrait être imprimé avant le" Ceci est à propos de fflush () "mais cela ne s'est pas produit. Parce que le «stdout» est par défaut un tampon, il stockera les valeurs dans le tampon temporaire alors que le stderr n'est pas tamponné, il a également affiché la sortie immédiatement, et le stdout affiche la sortie de son fichier à partir de la mémoire tampon lorsque le programme fins ou le nouveau terminateur de ligne («\ n») est utilisé.

Selon cela, la sortie est affichée dans l'ordre inattendu, pour l'imprimer de manière triée, nous utiliserons la fonction ffllush ():

#inclure
int main()
fprintf (stdout, "c'est Linuxhint. ");
fflush (stdout);
fprintf (stderr, "Il s'agit de fflush (). ");
fprintf (stdout, "Ceci est expliqué en utilisant la programmation C. \ n ");
fflush (stdout);
retour 0;

Compilez le fichier à l'aide du compilateur GCC:

$ gcc testfile.C -o TestFile

Exécutez le fichier à l'aide de la commande:

$ ./ TestFile

Maintenant, les résultats sont triés parce que le fflush () a effacé la mémoire tamponnée et affiché la sortie.

Conclusion

La fonction fflush () est utilisée pour effacer la mémoire tampon et afficher les résultats de OutputStream (STDOUT). Dans cet article, nous avons expliqué la fonction fflush () en programmation C à l'aide d'exemples. La fonction fflush () est recommandée d'utiliser avec le stdout car STDOUT est par défaut un tampon et enregistre ses données dans la mémoire de tampon temporaire.