table of contents
FFLUSH(3) | Manuel du programmeur Linux | 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).
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.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/.
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> ».
6 septembre 2009 | GNU |