FFLUSH(3)

NOM
fflush - Vider les tampons d'un flux

SYNOPSIS
#include <stdio.h>

int fflush(FILE *stream);

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).

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.

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).

ATTRIBUTS

  Multithreading (voir pthreads(7))
La fonction fflush() est sûre dans un contexte multithread.

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.

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).

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

COLOPHON
Cette page fait partie de la publication 3.70 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/.

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 à <perkamon-fr@traduc.org>.

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