Cerr-objektet i C ++ er et objekt i klasse ostream. Det er associeret med standard C-fejloutput stream stderr.
cerr erklæring
ekstern ostream cerr;
Det er defineret i header-fil "> header-fil.
Det cerr
formål sikres initialiseres under eller før den første gang et objekt af typen ios_base::Init
konstrueres. Når cerr
objektet er konstrueret, er udtrykket ( cerr.flags
& unitbuf
) ikke nul, hvilket betyder, at ethvert output sendt til disse streamobjekter straks skylles til operativsystemet. Også cerr.tie()
== &cout
dvs. cerr.tie()
returnerer, &cout
hvilket betyder, at cout.flush()
der udføres før enhver outputoperation på cerr.
"C" i cerr
henviser til "tegn" og "fejler" betyder "fejl", cerr
betyder derfor "tegnfejl".
Den cerr
genstand er brugt sammen med indsættelsen operatør (<<) for at vise en strøm af tegn. Den generelle syntaks er:
cerr << varName;
eller
cerr << "Nogle strenge";
Ekstraktionsoperatøren kan bruges mere end én gang med en kombination af variabler, strenge og manipulatorer (som endl):
cerr << var1 << "Nogle strenge" << var2 << endl;
Nybegynder C ++ - programmører bruger cout
til at vise fejlen ved hjælp af standardoutput til at debugge deres programmer, men det er altid god praksis at bruge cerr
til at vise fejl.
Dette skyldes, at i stedet for at vise fejlstrømmen til skærmen, kan du senere ændre fejlstrømmen for at skrive fejlene til en fil.
Eksempel: Hvordan cerr fungerer?
#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