O objeto cerr em C ++ é um objeto da classe ostream. Ele está associado ao fluxo de saída de erro C padrão stderr.
declaração cerr
extern ostream cerr;
É definido no arquivo de cabeçalho "> arquivo de cabeçalho.
O cerr
objeto 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 cerr
objeto é construído, a expressão ( cerr.flags
& unitbuf
) é diferente de zero, o que significa que qualquer saída enviada a esses objetos de fluxo é imediatamente liberada para o sistema operacional. Também cerr.tie()
== &cout
ie cerr.tie()
retorna o &cout
que significa que cout.flush()
é executado antes de qualquer operação de saída em cerr.
O "c" em cerr
se refere a "caractere" e 'err' significa "erro", portanto, cerr
significa "erro de caractere".
O cerr
objeto é usado junto com o operador de inserção (<<) para exibir um fluxo de caracteres. A sintaxe geral é:
cerr << varName;
ou
cerr << "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):
cerr << var1 << "Alguma string" << var2 << endl;
Programadores iniciantes em C ++ usam cout
para exibir o erro usando a saída padrão para depurar seus programas, mas é sempre uma boa prática usar cerr
para exibir 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.
Exemplo: Como funciona o cerr?
#include #include using namespace std; int main() ( char fileName() = "data.txt"; ifstream infile(fileName); if(infile) cout << infile.rdbuf(); else cerr << "Error while opening the file " << fileName <
When you run the program, the output will be: (if the file could not be opened)
Error while opening the file data.txt