Compartilhar via


_flushall

Libera todos os fluxos, limpa todos os buffers.

Sintaxe

int _flushall( void );

Retornar valor

_flushall retorna o número de fluxos abertos (entrada e saída). Não há retorno de erro.

Comentários

Por padrão, a função _flushall grava nos arquivos adequados o conteúdo de todos os buffers associados a fluxos de saída abertos. Todos os buffers associados a fluxos de entrada abertos são limpos do seu conteúdo atual. (Normalmente, esses buffers são mantidos pelo sistema operacional, que determina o momento ideal para gravar os dados automaticamente no disco: quando um buffer estiver cheio, quando um fluxo for fechado ou quando um programa for encerrado normalmente sem fechar fluxos.)

Se uma leitura seguir uma chamada para _flushall, novos dados serão lidos dos arquivos de entrada nos buffers. Todos os fluxos permanecerão abertos após a chamada para _flushall.

O recurso de confirmar no disco da biblioteca em tempo de execução permite assegurar que dados críticos sejam gravados diretamente no disco em vez de em buffers do sistema operacional. Sem reescrever um programa existente, você pode habilitar esse recurso vinculando os arquivos de objeto do programa com Commode.obj. No arquivo executável resultante, chamadas para _flushall gravar o conteúdo de todos os buffers no disco. Somente _flushall e fflush são afetados por Commode.obj.

Para obter informações sobre como controlar o recurso de confirmação em disco, confira E/S de fluxo, fopen e _fdopen.

Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, consulte Estado global na CRT.

Requisitos

Função Cabeçalho necessário
_flushall <stdio.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Exemplo

// 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 );
}
There were 3 streams flushed

Confira também

E/S de fluxo
_commit
fclose, _fcloseall
fflush
setvbuf