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 wcerr
mindkettő társítva van stderr
, de abban wcerr
az értelemben különbözik, hogy a beáramló csatornák wclog
pufferolva 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 wclog
objektum inicializálása biztosított egy típusú objektum első ios_base::Init
építése során vagy azelőtt . wclog
nincs kötve más folyamhoz.
A "wc" wclog
kifejezés "széles karakterre" utal, tehát wclog
"széles karakternaplót" jelent. Az
wclog
Az 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