Partager via


fclose, _fcloseall

Ferme un flux de données (fclose) ou ferme les flux de données ouverts (_fcloseall).

int fclose( 
   FILE *stream 
);
int _fcloseall( void );

Paramètres

  • stream
    Pointeur vers la structure FILE.

Valeur de retour

fclose retourne 0 si le flux a été fermé avec succès. _fcloseall retourne le nombre total de flux de données fermé. Les deux fonctions retournentEOF pour indiquer une erreur.

Notes

La fonction fclose ferme stream. Si stream est NULL, le gestionnaire de paramètres non valides est appelé, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, fclose renvoie 0 et attribue à errno la valeur EINVAL. Il est recommandé que le pointeur stream soit toujours vérifié avant d'appeler cette fonction.

Consultez _doserrno, errno, _sys_errlist et _sys_nerr pour plus d'informations sur ces éléments et autres codes d'erreur.

La fonction _fcloseall ferme les flux de données au ouverts à stdin, stdout, stderr (et, dans MS-DOS, _stdaux et _stdprn). Elle ferme et supprime également tous les fichiers temporaires créés par tmpfile. Dans les deux fonctions, tous les tampons associés au flux sont détruits avant de fermer. Les tampons alloué au système sont libérées lorsque le flux de données est fermé. Les mémoires tampons affectées par l'utilisateur avec setbuf et setvbuf ne sont pas automatiquement libérées.

Note: lorsque ces fonctions sont utilisées pour fermer un flux de données, le descripteur de fichier sous-jacent et le descripteur de fichier du système d'exploitation (ou le socket) sont fermés, ainsi que le flux de données. Par conséquent, si le fichier a été ouvert en tant que gestionnaire de fichier ou descripteur de fichier et est fermé avec fclose, n'appelez pas _close pour fermer le descripteur de fichier ; n'appelez pas la fonction CloseHandle Win32 pour fermer le descripteur de fichier.

fclose et _fcloseall contiennent le code pour se protéger de toute interférence des autres threads. Pour une version non verrouillante, consultez fclose, voir _fclose_nolock.

Configuration requise

Fonction

En-tête requis

fclose

<stdio.h>

_fcloseall

<stdio.h>

Pour plus d'informations sur la compatibilité, consultez Compatibilité dans l'introduction.

Exemple

Consultez l'exemple pourfopen.

Équivalent .NET Framework

Voir aussi

Référence

E/S de flux

_close

_fdopen, _wfdopen

fflush

fopen, _wfopen

freopen, _wfreopen