Linux |
CentOS 4.8 |
|
fflush(3) |
fflush − Vider les buffers d’un flux. |
#include <stdio.h> int fflush (FILE *flux); |
La fonction fflush force l’écriture de toutes les données se trouvant dans les buffers 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 en sortie. Pour une version de cette fonction ignorant les verrouillages, voir unlocked_stdio(3). |
Si elle réussit intégralement, cette fonctions renvoie 0. Sinon, elle renvoie EOF, et la variable errno contient le code d’erreur. |
EBADF |
flux n’est pas ouvert, ou du moins pas en écriture. |
La fonction fflush peut aussi échouer, et positionner dans errno n’importe quelles erreurs spécifiées dans la routine write(2). |
Remarquez que fflush() ne vide que les buffers 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 vider les buffers du noyau à l’aide par exemple de sync(2) ou fsync(2). |
La fonction fflush() est conforme à ANSI X3.159-1989 (‘‘ANSI C’’). |
fsync(2), sync(2), write(2), fclose(3), fopen(3), setbuf(3), unlocked_stdio(3) |
Christophe Blaess, 1997. |
fflush(3) |