fclose, _fcloseall

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

Ferme un flux (fclose) ou ferme tous les flux ouverts (_fcloseall).

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

Paramètres

stream
Pointeur vers la structure FILE .

fcloseretourne 0 si le flux est fermé correctement. _fcloseallRetourne le nombre total de flux fermé. Ces deux fonctions renvoient EOF pour indiquer une erreur.

Le fclose fonction ferme stream. Si stream est 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 à se poursuivre, fclose définit errno à EINVAL et retourne EOF. Il est recommandé que le stream pointeur toujours être vérifiées avant d’appeler cette fonction.

Consultez la page _doserrno, errno, _sys_errlist et _sys_nerr pour plus d’informations sur les autres codes d’erreur.

Le _fcloseall fonction ferme tous les flux de données à l’exception de stdin, stdout, stderr (et MS-DOS, _stdaux et _stdprn). Ferme également et supprime tous les fichiers temporaires créés par tmpfile. Dans les deux fonctions, associées au flux de toutes les mémoires tampons sont vidées avant la fermeture. Mémoires tampons allouées par le système sont libérés lorsque le flux est fermé. Mémoires tampons affectées par l’utilisateur avec setbuf et setvbuf ne sont pas automatiquement libérée.

Remarque : lorsque ces fonctions sont utilisées pour fermer un flux de données, les sous-jacent descripteur de fichier et du système d’exploitation handle de fichier (ou socket) est fermé, ainsi que le flux de données. Par conséquent, si le fichier a été ouvert à l’origine en tant que fichier gérer ou descripteur de fichier et est fermée avec fclose, n’effectuez pas également appel _close à fermer le descripteur de fichier, n’appelez pas la fonction Win32 CloseHandle pour fermer le handle de fichier.

fcloseet _fcloseall inclure du code pour vous protéger contre les interférences avec d’autres threads. Pour une version sans verrouillage d’un fclose, consultez la page _fclose_nolock.

FonctionEn-tête requis
fclose<stdio.h>
_fcloseall<stdio.h>

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

Consultez l’exemple de fopen.

Flux d’e/s
_close
_fdopen, _wfdopen
fflush
fopen, _wfopen
freopen, _wfreopen

Afficher: