C ++ wcerr - štandardná knižnica C ++

Objekt wcerr v C ++ je objektom triedy ostream. Je spojená so štandardným výstupným prúdom chýb C stderr.

Rozdiel medzi cerr a wcerr

cerrpoužíva znak (úzky znak) ako typ znaku. Môže byť použitý pre znaky ASCII a ANSI.

Pre internacionalizáciu potrebujeme reťazce Unicode, ktoré sa nezmestia do znaku. wcerrpoužitia wchar_t(široký znak) a použiteľné pre znaky Unicode.

Rozdiel medzi wcout a wcerr

Začiatočníci programátorov v C ++ používajú couta wcoutna zobrazenie chyby pomocou štandardného výstupu na ladenie svojich programov, ale vždy je dobrým zvykom používať cerra wcerrzobrazovať chyby.

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.

wcerr vyhlásenie

 externý wostream wcerr; 

Je definované v hlavičkovom súbore.

Je wcerrzaistené, že objekt je inicializovaný počas alebo pred prvou ios_base::Initkonštrukciou objektu typu . Po wcerrskonštruovaní objektu je výraz (wcerr.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ž wcerr.tie() == &wcouttj wcerr.tie()vráti, &wcoutčo znamená, že wcout.flush()sa vykoná pred každou výstupnou operáciou wcerr.

„Wc“ v wcerr znamená „široký znak“ a „err“ znamená „chyba“, teda wcerr znamená „široký znakový znak“. wcerrObjekt sa používa spolu s operátorom vkladanie (<<), aby sa zobrazí prúd znakov. Všeobecná syntax je:

 wcerr << varName;

alebo

 wcerr << "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):

 wcerr << var1 << "Some String" << var2 << endl;

Príklad: Ako funguje wcerr?

 #include #include using namespace std; int main() ( char fileName() = "data.txt"; wifstream infile(fileName); if(infile) wcout << infile.rdbuf(); else wcerr << "Error while opening the file " << fileName << endl; return; )

Po spustení programu bude výstupom: (ak sa súbor nepodarilo otvoriť)

 Chyba pri otváraní súboru data.txt

Zaujímavé články...