Fonction de la bibliothèque C -fflush()

Bibliothèque standard C - <stdio.h>

Description

Fonctions de la bibliothèque Cint fflush(FILE *stream)Utilisée pour vider le tampon de sortie.

fflush() est une fonction de la bibliothèque standard C qui écrit immédiatement les données du tampon dans le fichier ou le périphérique associé au flux.

Pour les flux d'entrée, son comportement est indéfini, et il faut éviter d'appeler cette fonction sur les flux d'entrée.

Déclaration

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

int fflush(FILE *stream)

Paramètre

  • stream-- Un pointeur de type FILE, indiquant le flux cible dont le tampon doit être vidé. FILE est une structure représentant un flux de fichier ouvert.

    • ifstreamestNULL, alors il videra les tampons de tous les flux de sortie.
    • ifstreamS'il s'agit d'un pointeur de fichier, alors videz le tampon de sortie de ce flux de fichier.

Valeur de retour

  • Si le tampon est vidé avec succès,fflush()Renvoie 0.

  • Si une erreur se produit, renvoieEOF, et définit l'indicateur d'erreur (ferror)。

Exemple

L'exemple suivant montre l'utilisation de la fonction fflush().

Exemple

#include <stdio.h> int main() { FILE *fp; char *filename = "example.txt"; char *data = "Hello, World!"; // Ouvrir le fichier en écriture fp = fopen(filename, "w"); if (fp == NULL) { printf("Impossible d'ouvrir le fichier %s\n", filename); return 1; } // Écrire les données dans le fichier fprintf(fp, "%s", data); // Vider le tampon pour garantir que les données sont écrites dans le fichier if (fflush(fp) == 0) { printf("Données écrites avec succès dans le fichier.\n"); } else { printf("Une erreur s'est produite lors du vidage du tampon.\n"); } // Fermer le fichier fclose(fp); return 0; }

Explication du code :

  • Ouvrir un fichier: Utiliserfopen()Ouvrir un fichier nomméexample.txtLe fichier est ouvert en écriture.

  • Écrire des données: Utiliserfprintf()La chaîne"Hello, World!"Écrire dans le fichier.

  • Vider le tampon: Appelerfflush(fp)Veiller à ce que les données soient écrites immédiatement dans le fichier, plutôt que de rester dans le tampon.

  • Vérifier la valeur de retour: sifflush()Renvoie 0, ce qui indique que le tampon a été vidé avec succès ; sinon, cela indique qu'une erreur s'est produite.

  • Fermer un fichier: Utiliserfclose()Fermer le fichier.

Data successfully written to the file.

Le programme ouvre le fichier example.txt et écrit la chaîne "Hello, World!".

fflush(fp) vide le tampon avec succès et renvoie 0, donc il affiche "Data successfully written to the file."

Le contenu du fichier example.txt sera :

Hello, World!

Bibliothèque standard C - <stdio.h>

autres extensions