Condividi tramite


_flushall

Elimina tutti i flussi; rimuove tutti i buffer.

int _flushall( void );

Valore restituito

_flushall restituisce il numero di flussi aperti (input e output). Nessun ritorno di errore.

Note

Per impostazione predefinita, la funzione _flushall scrive sui file appropriati i contenuti di tutti i buffer associati ai flussi aperti di output. A tutti i buffer associati ai flussi aperti di input vengono cancellati i contenuti correnti. (Questi buffer sono normalmente gestiti dal sistema operativo, il quale determina il momento ottimale per scrivere automaticamente i dati sul disco: quando un buffer è completo, o un flusso viene chiuso, o quando un programma termina normalmente senza chiudere i flussi.)

Se una lettura segue una chiamata a _flushall, i nuovi dati vengono letti dai file di input nel buffer. Tutti i flussi rimangono aperti dopo la chiamata a _flushall.

La funzionalità di commit su disco della libreria di runtime consente di assicurare che i dati critici siano scritti direttamente su disco anziché nei buffer del sistema operativo. Senza riscrivere un programma esistente, è possibile abilitare questa funzionalità collegando i file oggetto del programma a Commode.obj. Nel file eseguibile risultante, le chiamate a _flushall scrivono il contenuto di qualsiasi buffer sul disco. Solo _flushall e fflush sono interessati da Commode.obj.

Per informazioni sul controllo della funzionalità del commit da disco, consultare Flusso I/O, fopen e _fdopen.

Requisiti

Funzione

Intestazione obbligatoria

_flushall

<stdio.h>

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

Esempio

// crt_flushall.c
// This program uses _flushall
// to flush all open buffers.


#include <stdio.h>

int main( void )
{
   int numflushed;

   numflushed = _flushall();
   printf( "There were %d streams flushed\n", numflushed );
}
  

Equivalente .NET Framework

Vedere anche

Riferimenti

I/O di flusso

_commit

fclose, _fcloseall

fflush

setvbuf