_flushall
Libera todos os fluxos, limpa todos os buffers.
Sintaxe
int _flushall( void );
Valor retornado
_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 ativar esse recurso vinculando os arquivos de objeto do programa ao 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, confira Estado global no 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