FFLUSH(3)

NOM
fflush - Vider les tampons d'un flux

SYNOPSIS
#include <stdio.h>

int fflush(FILE *flux);

DESCRIPTION
La fonction fflush() force l'écriture de toutes les données se trouvant dans les tampons de l'espace utilisateur, et met à jour le flux à travers la fonction sous-jacente d'écriture. Le statut d'ouverture du flux n'est pas affecté.

Si l'argument flux 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 fonctions renvoie 0. Sinon, elle renvoie EOF, et la variable errno contient le code d'erreur.

ERREURS

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

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

CONFORMITÉ
C89, C99.

NOTES
Remarquez que fflush() ne vide que les tampons fournis par la bibliothèque C dans l'espace utilisateur. 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)

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 23 octobre 1996 et révisée le 17 juillet 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 fflush ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.