C ++ wcerr - C ++ standardna knjižnica

Objekt wcerr u jeziku C ++ objekt je klase ostream. Povezan je sa standardnim izlaznim tokom pogreške C stderr.

Razlika između cerr i wcerr

cerrkoristi char (uski znak) kao vrstu znaka. Može se koristiti za ASCII i ANSI znakove.

Za internacionalizaciju trebamo Unicode nizove koji se ne uklapaju u char. wcerrkoristi wchar_t(široki znak) i upotrebljiv za Unicode znakove.

Razlika između wcout i wcerr

Početnici programeri C ++ koriste couti wcoutza prikaz pogreške koristeći standardni izlaz za otklanjanje pogrešaka u svojim programima, ali uvijek je dobra praksa koristiti cerri wcerrprikazati pogreške.

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.

wcerr deklaracija

 vanjski wostream wcerr; 

Definirano je u datoteci zaglavlja "> datoteka zaglavlja.

Osigurano wcerrje da se objekt inicijalizira tijekom ili prije prvog ios_base::Initkonstruiranja objekta tipa . Nakon što je wcerrobjekt konstruiran, izraz (wcerr.flags & unitbuf)nije nula, što znači da se svaki izlaz poslan tim objektima streama odmah ispire u operativni sustav. Također wcerr.tie() == &wcoutie wcerr.tie()vraća, &wcoutšto znači da wcout.flush()se izvršava prije bilo koje izlazne operacije na wcerr.

"Wc" u wcerr odnosi se na "širok znak", a "pogreška" znači "pogreška", stoga wcerr znači "pogreška širokog znaka". wcerrObjekt se koristi uz umetanje operatera (<<), kako bi se prikazali tok znakova. Općenita sintaksa je:

 wcerr << varName;

ili

 wcerr << "Neki niz";

Operator ekstrakcije može se koristiti više puta s kombinacijom varijabli, nizova i manipulatora (poput endl):

 wcerr << var1 << "Neki niz" << var2 << endl;

Primjer: Kako radi 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; )

Kada pokrenete program, izlaz će biti: (ako datoteku nije moguće otvoriti)

 Pogreška prilikom otvaranja datoteke data.txt

Zanimljivi članci...