Como liberar o buffer cout no Visual C++

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 94227
Sumário
Em um aplicativo desenvolvido com o Microsoft C/C ++, o fluxo cout é armazenado em buffer. Em outras palavras, as informações enviadas para o fluxo cout não aparecem na tela até que seus buffers são liberados. Para o Visual C++ 4.2 e versões posteriores, esse comportamento ocorre apenas ao usar as bibliotecas iostream antigo. Há quatro métodos para liberar o buffer cout, da seguinte maneira:
  • Use manipulator endl para inserir um caractere de nova linha para o fluxo de saída e liberar o buffer. Use o operador de inserção com manipulator endl, da seguinte maneira:
    cout << ... << endl;						
  • Use a função liberação membro na classe ostream ou manipulator liberação. A liberação manipulator não insere um caractere de nova linha no fluxo antes de ele libera o buffer. Para chamar a função de membro liberação, usar código semelhante ao seguinte:
    cout.flush();						
    utilizar o operador de inserção com manipulator liberação da seguinte maneira:
    cout << ... << flush;						
  • Ler o fluxo cin ou gravar fluxos cerr ou clog. Como esses objetos compartilham o buffer com cout, cada libera o conteúdo do buffer antes de fazer alterações nele.
  • Sai do programa para liberar todos os buffers em uso no momento.
Mais Informações
Porque cout é armazenado em buffer, texto que o aplicativo cria não é exibido imediatamente na tela. Em algumas circunstâncias, esse comportamento pode ser mal interpretado como um erro em cout. Para obter um exemplo de um aplicativo que determina quando liberar o buffer cout, consulte páginas 377 378 da Microsoft C/C ++ "Guia do usuário do bibliotecas de classe" para versão 7.0.

Para obter mais informações sobre como liberar o fluxo cout com manipulator endl, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:

Propriedades

ID do Artigo: 94227 - Última Revisão: 01/05/2006 18:55:25 - Revisão: 4.0

Microsoft Visual C++ 1.0 Professional Edition, Microsoft Visual C++ 1.5 Professional Edition, Microsoft Visual C++ 1.51, Microsoft Visual C++ 1.52 Professional Edition, Microsoft Visual C++ 2.0 Professional Edition, Microsoft Visual C++ 2.1, Microsoft Visual C++ 4.0 Standard Edition, Microsoft Visual C++ 5.0 Enterprise Edition, Microsoft Visual C++ 6.0 Enterprise Edition, Microsoft Visual C++ 5.0 Professional Edition, Microsoft Visual C++ 6.0 Professional Edition, Microsoft Visual C++, 32-bit Learning Edition 6.0, Microsoft Visual C++ .NET 2003 Standard Edition, Microsoft Visual C++ .NET 2002 Standard Edition, Microsoft Visual C++ 2005 Express Edition

  • kbmt kbinfo kblangcpp KB94227 KbMtpt
Comentários