fclose, _fcloseallfclose, _fcloseall

Ferme un flux (fclose) ou ferme tous les flux ouverts ( _fcloseall).Closes a stream (fclose) or closes all open streams (_fcloseall).

SyntaxeSyntax

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

ParamètresParameters

streamstream
Pointeur désignant la structure FILE.Pointer to FILE structure.

Valeur de retourReturn Value

fclose retourne 0 si le flux est fermé avec succès.fclose returns 0 if the stream is successfully closed. _fcloseall retourne le nombre total de flux fermés._fcloseall returns the total number of streams closed. Les deux fonctions retournent EOF pour indiquer une erreur.Both functions return EOF to indicate an error.

NotesRemarks

La fonction fclose ferme le flux.The fclose function closes stream. Si Stream a la valeur null, le gestionnaire de paramètres non valides est appelé, comme décrit dans validation de paramètre.If stream is NULL, the invalid parameter handler is invoked, as described in Parameter Validation. Si l’exécution est autorisée à se poursuivre, fclose définit errno sur EINVAL et retourne EOF.If execution is allowed to continue, fclose sets errno to EINVAL and returns EOF. Il est recommandé de toujours vérifier le pointeur de flux avant d’appeler cette fonction.It is recommended that the stream pointer always be checked prior to calling this function.

Pour plus d’informations sur ces codes d’erreur et les autres, consultez _doserrno, errno, _sys_errlist et _sys_nerr.See _doserrno, errno, _sys_errlist, and _sys_nerr for more information on these, and other, error codes.

La fonction _fcloseall ferme tous les flux ouverts, à l’exception de stdin, stdout, stderr (et, dans MS-DOS, _stdaux et _stdprn).The _fcloseall function closes all open streams except stdin, stdout, stderr (and, in MS-DOS, _stdaux and _stdprn). Il ferme et supprime également tous les fichiers temporaires créés par tmpfile.It also closes and deletes any temporary files created by tmpfile. Dans les deux fonctions, toutes les mémoires tampons associées au flux sont vidées avant la fermeture.In both functions, all buffers associated with the stream are flushed prior to closing. Les mémoires tampons allouées par le système sont libérées quand le flux est fermé.System-allocated buffers are released when the stream is closed. Les mémoires tampons affectées par l’utilisateur avec setbuf et setvbuf ne sont pas automatiquement libérées.Buffers assigned by the user with setbuf and setvbuf are not automatically released.

Remarque : Lorsque ces 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 fermés, ainsi que le flux.Note: When these functions are used to close a stream, the underlying file descriptor and OS file handle (or socket) are closed, as well as the stream. Ainsi, si le fichier a été ouvert à l’origine comme handle de fichier ou descripteur de fichier et s’il est fermé avec fclose, n’appelez pas Fermer pour fermer le descripteur de fichier ; n’appelez pas la fonction CloseHandle Win32 pour fermer le descripteur de fichier.Thus, if the file was originally opened as a file handle or file descriptor and is closed with fclose, do not also call _close to close the file descriptor; do not call the Win32 function CloseHandle to close the file handle.

fclose et _fcloseall incluent du code pour vous protéger contre les interférences d’autres threads.fclose and _fcloseall include code to protect against interference from other threads. Pour une version sans verrouillage d’un fclose, consultez _fclose_nolock.For non-locking version of a fclose, see _fclose_nolock.

Configuration requiseRequirements

FonctionFunction En-tête requisRequired header
fclosefclose <stdio.h><stdio.h>
_fcloseall_fcloseall <stdio.h><stdio.h>

Pour plus d’informations sur la compatibilité, voir consultez Compatibilité.For additional compatibility information, see Compatibility.

ExemplesExample

Consultez l’exemple relatif à fopen.See the example for fopen.

Voir aussiSee also

E/S de fluxStream I/O
_close_close
_fdopen, _wfdopen_fdopen, _wfdopen
fflushfflush
fopen, _wfopenfopen, _wfopen
freopen, _wfreopenfreopen, _wfreopen