Objekt cerr v C ++ je objektem třídy ostream. Je spojen se standardním výstupním proudem stderr chyby C.
cerr prohlášení
extern ostream cerr;
Je definován v hlavičkovém souboru.
Je cerr
zajištěno, že objekt bude inicializován během nebo před prvním vytvořením objektu typu ios_base::Init
. Po cerr
zkonstruování objektu je výraz ( cerr.flags
& unitbuf
) nenulový, což znamená, že jakýkoli výstup odeslaný těmto objektům proudu je okamžitě vyprázdněn do operačního systému. Také cerr.tie()
== &cout
tj. cerr.tie()
Vrací, &cout
což znamená, že cout.flush()
je provedeno před jakoukoli výstupní operací na cerr.
Písmeno „c“ cerr
odkazuje na „znak“ a „err“ znamená „chybu“, tedy cerr
znamená „chybu znaku“.
cerr
Objekt se používá spolu s operátorem vkládání (<<), aby se zobrazí proud znaků. Obecná syntaxe je:
cerr << varName;
nebo
cerr << "Nějaký řetězec";
Operátor extrakce lze použít více než jednou s kombinací proměnných, řetězců a manipulátorů (jako endl):
cerr << var1 << "Some String" << var2 << endl;
Programátoři C ++ pro začátečníky používají cout
k zobrazení chyby pomocí standardního výstupu k ladění svých programů, ale vždy je dobrým zvykem použít cerr
k zobrazení chyb.
Důvodem je, že místo zobrazování chybového proudu na obrazovce můžete později chybový proud změnit a zapsat chyby do souboru.
Příklad: Jak cerr funguje?
#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