Cerr objekt u C ++-u je objekt klase ostream. Povezan je sa standardnim izlaznim tokom pogreške C stderr.
cerr deklaracija
vanjski ostream cerr;
Definirano je u datoteci zaglavlja "> datoteka zaglavlja.
Osigurano cerr
je da se objekt inicijalizira tijekom ili prije prvog ios_base::Init
konstruiranja objekta tipa . Nakon što je cerr
objekt konstruiran, izraz ( cerr.flags
& unitbuf
) nije nula, što znači da se svaki izlaz poslan tim objektima streama odmah ispire u operativni sustav. Također cerr.tie()
== &cout
tj. cerr.tie()
Vraća &cout
što znači da cout.flush()
se izvršava prije bilo koje izlazne operacije na cerr.
"C" u cerr
odnosi se na "znak", a "pogreška" znači "pogreška", dakle cerr
znači "greška u znaku".
cerr
Objekt se koristi uz umetanje operatera (<<), kako bi se prikazali tok znakova. Općenita sintaksa je:
cerr << varName;
ili
cerr << "Neki niz";
Operator ekstrakcije može se koristiti više puta s kombinacijom varijabli, nizova i manipulatora (poput endla):
cerr << var1 << "Neki niz" << var2 << endl;
Početnici programeri C ++ koriste cout
za prikaz pogreške koristeći standardni izlaz za otklanjanje pogrešaka u svojim programima, ali uvijek je dobra praksa cerr
za prikaz pogrešaka.
To je zato što umjesto prikazivanja toka pogreške na zaslonu, kasnije možete promijeniti tok pogreške kako biste pogreške zapisali u datoteku.
Primjer: Kako cerr radi?
#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