Objekt cerr v C ++ je objektom triedy ostream. Je spojená so štandardným výstupným prúdom chýb C stderr.
cerr vyhlásenie
extern ostream cerr;
Je definované v hlavičkovom súbore.
Je cerr
zaistené, že objekt je inicializovaný počas alebo pred prvou ios_base::Init
konštrukciou objektu typu . Po cerr
skonštruovaní objektu je výraz ( cerr.flags
& unitbuf
) nenulový, čo znamená, že akýkoľvek výstup odoslaný týmto objektom toku sa okamžite prepíše do operačného systému. Tiež cerr.tie()
== &cout
tj cerr.tie()
vráti, &cout
čo znamená, že cout.flush()
sa vykoná pred každou výstupnou operáciou na cerr.
Znak „c“ cerr
označuje „znak“ a „err“ znamená „chybu“, teda cerr
znamená „chybu znaku“.
cerr
Objekt sa používa spolu s operátorom vkladanie (<<), aby sa zobrazí prúd znakov. Všeobecná syntax je:
cerr << varName;
alebo
cerr << "Some String";
Operátor extrakcie je možné použiť viackrát s kombináciou premenných, reťazcov a manipulátorov (napríklad endl):
cerr << var1 << "Some String" << var2 << endl;
Začiatočníci programátorov v jazyku C ++ používajú cout
na zobrazenie chyby štandardný výstup na ladenie svojich programov, cerr
na zobrazovanie chýb je však vždy dobrým zvykom .
Je to tak preto, že namiesto zobrazenia chybového toku na obrazovke môžete neskôr chybový prúd zmeniť a zapísať chyby do súboru.
Príklad: Ako funguje 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