A C ++ fájlban található wcerr objektum osztály ostream objektuma. A szabványos C hiba kimeneti adatfolyam stderrhez van társítva.
Különbség a cerr és a wcerr között
cerrchar (keskeny karakter) karaktertípusként használja. 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. wcerrhasznál wchar_t(széles karakter) és használható Unicode karakterekhez.
Különbség a wcout és a wcerr között
Kezdő C ++ programozó használja cout, és wcoutmegjeleníti a hiba a szokásos kimenetet, hogy debug a programok, de ez mindig jó gyakorlat használatának cerrés wcerra megjelenítési hibák.
Ennek oka, hogy ahelyett, hogy megjelenítené a hiba folyamát a képernyőn, később megváltoztathatja a hiba folyamát, hogy a hibákat fájlba írja.
wcerr nyilatkozat
extern wostream wcerr;
A "header file"> header fájlban van meghatározva.
Az wcerrobjektum inicializálása biztosított egy típusú objektum első ios_base::Initépítése során vagy azelőtt . Az wcerrobjektum felépítése után a kifejezés (wcerr.flags & unitbuf)nem nulla, ami azt jelenti, hogy az ezekhez a folyamobjektumokhoz küldött kimenet azonnal az operációs rendszerbe kerül. Szintén wcerr.tie() == &wcoutazaz wcerr.tie()visszatér, &wcoutami azt jelenti, hogy wcout.flush()minden kimeneti művelet előtt végrehajtásra kerül wcerr.
A "wc" wcerr kifejezés "széles karakterre" utal, az "err" pedig "hibát" jelent, ezért a wcerr "széles karakter hibát" jelent. Az wcerrobjektumot a beszúrási operátorral (<<) együtt használjuk a karakterfolyam megjelenítéséhez. Az általános szintaxis:
wcerr << varName;
vagy
wcerr << "Néhány húr";
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 :
wcerr << var1 << "Néhány karakterlánc" << var2 << endl;
Példa: Hogyan működik a 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; )
A program futtatásakor a kimenet a következő lesz: (ha a fájlt nem sikerült megnyitni)
Hiba történt a data.txt fájl megnyitásakor








