Como liberar o buffer cout no Visual C++

Traduções deste artigo Traduções deste artigo
ID do artigo: 94227 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

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:
Endl flushes the cout buffer immediately upon execution

Propriedades

ID do artigo: 94227 - Última revisão: quinta-feira, 5 de janeiro de 2006 - Revisão: 4.0
A informação contida neste artigo aplica-se a:
  • 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
Palavras-chave: 
kbmt kbinfo kblangcpp KB94227 KbMtpt
Tradução automática
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

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com