Cerr-objektet i C ++ är ett objekt av klass ostream. Det är associerat med standard C-felutmatningsströmstoder.
cerr-deklaration
extern ostream cerr;
Det definieras i rubrikfil "> rubrikfil.
Det cerr
ändamål säkerställs att initieras under eller före den första gången ett objekt av typen ios_base::Init
konstrueras. Efter att cerr
objektet har konstruerats är uttrycket ( cerr.flags
& unitbuf
) icke noll, vilket betyder att all utdata som skickas till dessa strömobjekt spolas omedelbart till operativsystemet. Också cerr.tie()
== &cout
dvs cerr.tie()
returnerar &cout
vilket innebär att det cout.flush()
körs före någon utgående operation på cerr.
"C" i cerr
hänvisar till "tecken" och "fel" betyder "fel", följaktligen cerr
betyder "teckenfel".
Det cerr
objekt används tillsammans med införingsoperatören (<<) för att visa en ström av tecken. Den allmänna syntaxen är:
cerr << varName;
eller
cerr << "Någon sträng";
Extraktionsoperatören kan användas mer än en gång med en kombination av variabler, strängar och manipulatorer (som endl):
cerr << var1 << "Någon sträng" << var2 << endl;
Nybörjare C ++ - programmerare använder för cout
att visa felet med standardutdata för att felsöka sina program, men det är alltid bra att använda för cerr
att visa fel.
Detta beror på att istället för att visa felströmmen till skärmen kan du senare ändra felströmmen för att skriva felen till en fil.
Exempel: Hur cerr fungerar?
#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