Partager via


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_doserrnoet _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