Condividi tramite


fclose, _fcloseall

Chiude un flusso (fclose) o chiude tutti i flussi aperti (_fcloseall).

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

Parametri

  • stream
    Puntatore alla struttura FILE.

Valore restituito

fclose restituisce 0 se il flusso viene chiuso correttamente. _fcloseall restituisce il numero totale di flussi chiusi. Entrambe le funzioni restituiscono EOF per indicare un errore.

Note

La funzione fclose chiude stream. Se stream è NULL, viene richiamato il gestore di parametro non valido, come descritto in Convalida dei parametri. Se all'esecuzione è consentito continuare, fclose imposta errno al valore EINVAL e restituisce EOF. Si raccomanda che il puntatore di stream viene controllato sempre prima di chiamare la funzione.

Vedere _doserrno, errno, _sys_errlist, e _sys_nerr per ulteriori informazioni su questi, e altri, codici di errore.

La funzione _fcloseall chiude tutti i flussi aperti tranne stdin, stdout, stderr (e, in MS-DOS, _stdaux e _stdprn). Inoltre termina 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 di sistema vengono rilasciati quando il flusso viene chiuso. I buffer assegnati dall'utente con setbuf e setvbuf non vengono automaticamente eliminati.

Nota: Quando queste funzioni vengono utilizzate per chiudere un flusso, il descrittore del file sottostante e un handle di file del sistema operativo (o socket) vengono chiusi, come il flusso. Pertanto, se il file è stato originariamente aperto come handle di file o descrittore di file e chiuso con fclose, non si deve chiamare anche _close per chiudere il descrittore del file; non si deve chiamare la funzione Win32 CloseHandle per chiudere gli handle di file.

fclose e _fcloseall includono codice per proteggersi da interferenze da parte di altri thread. Per una versione non bloccante di fclose, vedere _fclose_nolock.

Requisiti

Funzione

Intestazione obbligatoria

fclose

<stdio.h>

_fcloseall

<stdio.h>

Per ulteriori informazioni sulla compatibilità, vedere Compatibilità nell'Introduzione.

Esempio

Vedere l'esempio relativo a fopen.

Equivalente .NET Framework

Vedere anche

Riferimenti

I/O di flusso

_close

_fdopen, _wfdopen

fflush

fopen, _wfopen

freopen, _wfreopen