_flushall
Libera todos os fluxos; limpa todos os buffers.
int _flushall( void );
Valor de retorno
_flushall retorna o número de fluxos abertos (entrada e saída). Não há nenhum retorno de erro.
Comentários
Por padrão, a função de _flushall grava os arquivos apropriados o conteúdo de todos os buffers associados com os fluxos de saída abertos. Todos os buffers associados com os fluxos de entrada abertos serão desmarcados de seus conteúdos atuais. (Esses buffers são mantidos normalmente pelo sistema operacional, que determina o tempo ótimos de gravar automaticamente os dados em disco: quando um buffer for concluída, quando um fluxo está fechado, ou quando um programa será encerrado normalmente sem fechar os fluxos.)
Se uma leitura segue uma chamada a _flushall, os novos dados são lidos os arquivos de entrada nos buffers. Todos os fluxos permanecem abertos depois da chamada a _flushall.
O recurso de disco confirmação-à- da biblioteca de tempo de execução permite garantir que os dados críticos seja gravado diretamente no disco em vez de buffers do sistema operacional. Sem reescrever um programa existente, você pode habilitar esse recurso vincular os arquivos de programa do objeto com Commode.obj. No arquivo executável resultante, as chamadas para _flushall grava o conteúdo de todos os buffers em disco. Somente _flushall e fflush são afetados por Commode.obj.
Para obter informações sobre como controlar o recurso de confirmação-à- disco, consulte Fluxo de E/S, fopen, e _fdopen.
Requisitos
Função |
Cabeçalho necessário |
---|---|
_flushall |
<stdio.h> |
Para obter mais informações sobre compatibilidade, consulte Compatibilidade na Introdução.
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 );
}