Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Chiude un flusso (fclose) o chiude tutti i flussi aperti (_fcloseall).
Sintassi
int fclose(
FILE *stream
);
int _fcloseall( void );
Parametri
stream
Puntatore alla struttura FILE .
Valore restituito
fclose restituisce 0 se il flusso è stato chiuso correttamente. _fcloseall restituisce il numero totale di flussi chiusi. Entrambe le funzioni restituiscono EOF per indicare un errore.
Osservazioni:
La funzione fclose chiude stream. Se stream è NULL, viene richiamato il gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, fclose imposta errno su EINVAL e restituisce EOF. È consigliabile controllare sempre il stream puntatore prima di chiamare questa funzione.
Per altre informazioni sui codici restituiti, vedere errno, _doserrno, _sys_errliste _sys_nerr.
La funzione _fcloseall chiude tutti i flussi aperti, tranne stdin, stdout, stderr (e in MS-DOS, _stdaux e _stdprn). Chiude anche ed elimina tutti i file temporanei creati da tmpfile. In entrambe le funzioni, tutti i buffer associati al flusso vengono scaricati prima della chiusura. I buffer allocati nel sistema vengono rilasciati quando viene chiuso il flusso. I buffer assegnati dall'utente con setbuf e setvbuf non vengono rilasciati automaticamente.
Nota
Quando fclose o _fcloseall le funzioni vengono usate per chiudere un flusso, anche il descrittore di file sottostante e l'handle di file del sistema operativo (o socket) vengono chiusi. Pertanto, se il file è stato originariamente aperto come handle di file o descrittore di file e viene chiuso con fclose, non chiamare _close anche per chiudere il descrittore di file e non chiamare la funzione CloseHandle Win32 per chiudere l'handle di file.
fclose e _fcloseall includono codice per la protezione da interferenze di altri thread. Per una versione che non blocca di fclose, vedere _fclose_nolock.
Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.
Requisiti
| Funzione | Intestazione obbligatoria |
|---|---|
fclose |
<stdio.h> |
_fcloseall |
<stdio.h> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Esempio
Vedere l'esempio per fopen.
Vedi anche
I/O di flusso
_close
_fdopen, _wfdopen
fflush
fopen, _wfopen
freopen, _wfreopen