Padrão Fluxo objetos em C ++

C ++ adiciona um pedaço de código para a frente do seu programa que é executado antes a Principal() obtém controle. Entre outras coisas, esse código cria os objetos de entrada padrão / saída mostradas nesta tabela.

Padrão I / O, Objetos
ObjetoClassepropósito
cinistreamPadrão carbonizar entrada
wcinwistreamPadrão wchar_t # 147 widechar # 148- entrada
coutostreamPadrão carbonizar saída
wcoutwostreamPadrão wchar_t # 147 widechar # 148- saída
cerrostreamsaída de erro padrão
wcerrwostreamErro padrão wchar_t # 147 widechar # 148- saída
entupirostreamlog padrão
wclogostreamPadrão wchar_t log # 147 widechar # 148-

Você provavelmente já viu cin e cout como lêem a entrada do teclado e saída para a exibição, respectivamente. O usuário pode redirecionar a entrada e saída padrão para um arquivo quando ele executa um programa da seguinte forma:

C:> MyProgram DefaultOut.txt

Aqui o operador está dizendo # 147 Executar MyProgram mas lê a entrada padrão de InputFile.txt em vez do teclado e envia o que de outra forma iriam para a saída padrão para o arquivo DefaultOut.txt.# 148;

Reencaminhamento obras de entrada e saída do prompt do DOS no Windows e sob todas as versões do Unix e Linux. É a maneira mais fácil de executar o arquivo de entrada / saída quando você está tentando escrever algo rápido e sujo.

Por padrão, o cerr saídas objeto para a tela apenas como cout, exceto que é reencaminhado separadamente - reencaminhamento cout-tipo de saída padrão para um arquivo não reencaminhar cerr saída. Isso permite que um programa para exibir mensagens de erro para o operador, mesmo se cout foi redirecionado para um arquivo.

As mensagens de erro devem ser enviados para cerr ao invés de cout apenas no caso de o operador tem reencaminhadas saída padrão.

o wcin, wcout, e wcerr são largas versão do padrão de entrada, saída e de erro, respectivamente. Estes são projetados para lidar com símbolos Unicode:

cout lt; lt; "Esta é a saída estreita" lt; lt; endl-wcout lt; lt; L "Esta é a saída de largura" lt; lt; endl-

menu