Het cerr-object in C ++ is een object van klasse ostream. Het wordt geassocieerd met de standaard C-foutuitvoerstroom stderr.
cerr verklaring
externe ostream cerr;
Het wordt gedefinieerd in header-bestand "> header-bestand.
Het cerr
object wordt geïnitialiseerd tijdens of vóór de eerste keer dat een object van het type ios_base::Init
wordt geconstrueerd. Nadat het cerr
object is geconstrueerd, is de uitdrukking ( cerr.flags
& unitbuf
) niet nul, wat betekent dat alle uitvoer die naar deze stream-objecten wordt verzonden, onmiddellijk naar het besturingssysteem wordt doorgespoeld. Ook cerr.tie()
== &cout
ie cerr.tie()
retourneert &cout
wat betekent dat cout.flush()
wordt uitgevoerd vóór elke uitvoerbewerking op cerr.
De "c" in cerr
verwijst naar "karakter" en "err" betekent "fout", dus cerr
"tekenfout".
Het cerr
object wordt samen met de invoegoperator (<<) gebruikt om een stroom tekens weer te geven. De algemene syntaxis is:
cerr << varName;
of
cerr << "Some String";
De extractie-operator kan meerdere keren worden gebruikt met een combinatie van variabelen, strings en manipulators (zoals endl):
cerr << var1 << "Some String" << var2 << endl;
Beginnende C ++ -programmeurs gebruiken cout
om de fout weer te geven met behulp van standaarduitvoer om hun programma's te debuggen, maar het is altijd een goede gewoonte om cerr
fouten weer te geven.
Dit komt doordat u in plaats van de foutenstroom op het scherm weer te geven, later de foutenstroom kunt wijzigen om de fouten naar een bestand te schrijven.
Voorbeeld: hoe werkt 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