1. NOM

fflush - Vider les tampons d'un flux

2. SYNOPSIS

#include <stdio.h>

int fflush(FILE *stream);

3. DESCRIPTION

Pour les flux de sortie, fflush() force l'écriture de toutes les données se trouvant dans les tampons de l'espace utilisateur, et met à jour le flux stream à travers la fonction sous-jacente d'écriture. Pour les flux d'entrée, fflush() ne traite pas toute donnée en tampon qui aurait été lue depuis le fichier sous-jacent mais qui n'aurait pas été consommée par l'application. Le statut d'ouverture du flux n'est pas affecté.

Si l'argument stream est NULL, fflush() vide tous les flux ouverts en sortie.

Pour une version de cette fonction ignorant les verrouillages, voir unlocked_stdio(3).

4. VALEUR RENVOYÉE

Si elle réussit intégralement, cette fonction renvoie 0. Sinon, elle renvoie EOF, et la variable errno contient le code d'erreur.

5. ERREURS

  • EBADF
        stream n'est pas ouvert, ou du moins pas en écriture.

La fonction fflush() peut aussi échouer, et définir dans errno n'importe quelles erreurs spécifiées par la routine write(2).

6. CONFORMITÉ

C89, C99, POSIX.1-2001, POSIX.1-2008. Les normes ne spécifient pas le comportement pour les flux d'entrée. La plupart des autres implémentations ont le même comportement que l'implémentation Linux.

7. NOTES

Remarquez que fflush() ne vide que les tampons d'espace utilisateur fournis par la bibliothèque C. Pour s'assurer que les données sont écrites physiquement sur le disque, il faut aussi vider les tampons du noyau à l'aide par exemple de sync(2) ou fsync(2).

8. VOIR AUSSI

fsync(2), sync(2), write(2), fclose(3), fopen(3), setbuf(3), unlocked_stdio(3)

9. COLOPHON

Cette page fait partie de la publication 3.52 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse http://www.kernel.org/doc/man-pages/.

10. TRADUCTION

Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <http://manpagesfr.free.fr/> (2003-2006). Florentin Duneau et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à <>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».