Linux |
CentOS 4.8 |
|
fclose(3) |
fclose − Fermer un flux. |
#include <stdio.h> int fclose (FILE *stream); |
La fonction fclose dissocie le flux nommé stream du fichier sous-jacent. Si le flux était utilisé en sortie, toutes les données contenues dans le buffer sont d’abord écrites, en utilisant fflush(3). |
Si la fonction réussit intégralement, elle renvoie 0, sinon elle renvoie EOF et errno contient le code d’erreur. Dans tous les cas, tout autre accès ultérieur au flux (y compris un autre appel de fclose()) conduit à un comportement indéfini. |
EBADF |
Le descripteur de fichier sous-jacent au stream n’est pas valide. |
La fonction fclose peut également échouer et positionner errno avec l’une quelconque des erreurs décrites par close(2), write(2) ou fflush(3). |
Remarquez que fclose 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 fclose est conforme à ANSI X3.159-1989 (‘‘ANSI C’’). |
close(2), fcloseall(3), fflush(3), fopen(3), setbuf(3) |
Christophe Blaess, 1997. |
fclose(3) |