fclose
, _fcloseall
Ferme un flux (fclose
) ou ferme tous les flux ouverts (_fcloseall
).
Syntaxe
int fclose(
FILE *stream
);
int _fcloseall( void );
Paramètres
stream
Pointeur vers la structure FILE
.
Valeur retournée
fclose
retourne 0 si le flux est fermé correctement. _fcloseall
retourne le nombre total de flux fermés. Ces deux fonctions retournent EOF
pour indiquer une erreur.
Notes
La fonction fclose
ferme stream
. Si stream
a la valeur NULL
, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation de paramètre. Si l’exécution est autorisée à continuer, fclose
définit errno
sur EINVAL
et retourne EOF
. Il est recommandé de toujours vérifier le stream
pointeur avant d’appeler cette fonction.
Pour plus d’informations sur les codes de retour, consultez , , _sys_errlist
_doserrno
et _sys_nerr
.errno
La fonction _fcloseall
ferme tous les flux à l’exception de stdin
, stdout
, stderr
(et, dans MS-DOS, _stdaux
et _stdprn
). En outre, elle ferme et supprime tous les fichiers temporaires créés par tmpfile
. Dans les deux fonctions, toutes les mémoires tampons associées au flux sont vidées avant la fermeture. Les mémoires tampons allouées par le système sont libérées quand le flux est fermé. Les mémoires tampons attribuées par l’utilisateur et setbuf
setvbuf
ne sont pas publiées automatiquement.
Remarque
Quand fclose
ou _fcloseall
les fonctions sont utilisées pour fermer un flux, le descripteur de fichier sous-jacent et le handle de fichier du système d’exploitation (ou socket) sont également fermés. Ainsi, si le fichier a été ouvert à l’origine en tant que descripteur de fichier ou descripteur de fichier et est fermé avec fclose
, n’appelez _close
pas également pour fermer le descripteur de fichier ; et n’appelez pas la fonction CloseHandle
Win32 pour fermer le handle de fichier.
fclose
et _fcloseall
incluent du code qui protège contre les interférences avec d’autres threads. Pour une version sans verrouillage d’un fclose
, consultez _fclose_nolock
.
Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.
Spécifications
Fonction | En-tête requis |
---|---|
fclose |
<stdio.h> |
_fcloseall |
<stdio.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Exemple
Consultez l’exemple pour fopen
.
Voir aussi
E/S de flux
_close
_fdopen
, _wfdopen
fflush
fopen
, _wfopen
freopen
, _wfreopen