O objeto wcerr em C ++ é um objeto da classe ostream. Ele está associado ao fluxo de saída de erro C padrão stderr.
Diferença entre cerr e wcerr
cerrusa char (caractere estreito) como tipo de caractere. Ele pode ser usado para caracteres ASCII e ANSI.
Para internacionalização, precisamos de strings Unicode que não cabem em char. wcerrusa wchar_t(caractere largo) e pode ser usado para caracteres Unicode.
Diferença entre wcout e wcerr
Os programadores iniciantes em C ++ usam coute wcoutpara exibir o erro usando a saída padrão para depurar seus programas, mas é sempre uma boa prática usar cerre wcerrexibir os erros.
Isso ocorre porque, em vez de mostrar o fluxo de erros na tela, você pode posteriormente alterar o fluxo de erros para gravar os erros em um arquivo.
declaração wcerr
extern wostream wcerr;
É definido no arquivo de cabeçalho "> arquivo de cabeçalho.
O wcerrobjeto tem a garantia de ser inicializado durante ou antes da primeira vez que um objeto do tipo ios_base::Inité construído. Depois que o wcerrobjeto é construído, a expressão (wcerr.flags & unitbuf)é diferente de zero, o que significa que qualquer saída enviada para esses objetos de fluxo é imediatamente liberada para o sistema operacional. Também wcerr.tie() == &wcoutie wcerr.tie()retorna o &wcoutque significa que wcout.flush()é executado antes de qualquer operação de saída wcerr.
O "wc" em wcerr se refere a "caractere largo" e 'err' significa "erro", portanto, wcerr significa "erro de caractere largo". O wcerrobjeto é usado junto com o operador de inserção (<<) para exibir um fluxo de caracteres. A sintaxe geral é:
wcerr << varName;
ou
wcerr << "Alguma String";
O operador de extração pode ser usado mais de uma vez com uma combinação de variáveis, strings e manipuladores (como endl):
wcerr << var1 << "Alguma String" << var2 << endl;
Exemplo: Como funciona o wcerr?
#include #include using namespace std; int main() ( char fileName() = "data.txt"; wifstream infile(fileName); if(infile) wcout << infile.rdbuf(); else wcerr << "Error while opening the file " << fileName << endl; return; )
Quando você executa o programa, a saída será: (se o arquivo não puder ser aberto)
Erro ao abrir o arquivo data.txt








