C ++ wclog - C ++ szabványos könyvtár

A C ++ - ban található wclog objektum az osztály wostream objektuma. A szabványos C hiba kimeneti adatfolyam stderrhez van társítva.

A klumpa és a wclog közötti különbség

eltömíti a felhasználókat char (keskeny karakter) mint karaktertípus. Használható ASCII és ANSI karakterekhez.

A nemzetközivé váláshoz Unicode karakterláncokra van szükségünk, amelyek nem illenek a char-ba. A wclog a wchar_t (széles karaktert) használja, és használható az Unicode karakterekhez.

Különbség a wcerr és a wclog között

wclogés wcerrmindkettő társítva van stderr, de abban wcerraz értelemben különbözik, hogy a beáramló csatornák wclogpufferolva vannak, és nem kapcsolódnak hozzájuk automatikusan wcout.

A pufferelt kimenet hatékonyabb, mint a nem pufferelt kimenet. Pufferelt kimenet esetén az összes kimenetet egy változóba menti és egyszerre lemezre írja. A nem csomagolt kimenethez folytatnunk kell a lemezre írást.

A pufferelt kimenet nem előnyös a kritikus hibák esetén. Rendszerösszeomlás esetén előfordulhat olyan helyzet, hogy a kimenet még mindig pufferben volt, és nem íródott lemezre, és a hibaüzenetet nem lehet lekérni. Nem engedhetjük meg magunknak, hogy rendszerhibák esetén elveszítsük a hibaadatokat, ezért a kritikus hibákat a lemezre írjuk, annak ellenére, hogy lassabbak.

wclogáltalában fakitermelés céljából használják. A nem kritikus eseménynaplózásnál a hatékonyság fontosabb, ezért a wclog-ot részesítik előnyben wcerr.

wclog nyilatkozat

 extern ostream wclog;

A "header file"> header fájlban van meghatározva.

Az wclogobjektum inicializálása biztosított egy típusú objektum első ios_base::Initépítése során vagy azelőtt . wclognincs kötve más folyamhoz.

A "wc" wclogkifejezés "széles karakterre" utal, tehát wclog"széles karakternaplót" jelent. Az

wclogAz objektumot a beszúrási operátorral együtt használják (<<) a karakterfolyam megjelenítéséhez. Az általános szintaxis:

 wclog << varName;

vagy

 wclog << "Néhány karakterlánc";

Az extrakciós operátor többször is használható változók, húrok és manipulátorok (például endl) kombinációjával :

 wclog << var1 << "Néhány karakterlánc" << var2 << endl;

Példa: Hogyan működik a wclog?

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

When you run the program, a possible output will be (if there is error in opening the file):

 Error while opening the file data.txt

érdekes cikkek...