C ++ wcerr - C ++ standartinė biblioteka

W + C objektas C ++ yra klasės ostream objektas. Tai siejama su standartine C klaidos išvesties srauto stderr.

Skirtumas tarp cerr ir wcerr

cerrkaip simbolio tipą naudoja char (siaurą simbolį). Jis gali būti naudojamas ASCII ir ANSI simboliams.

Internacionalizacijai reikalingos „Unicode“ eilutės, kurios netelpa į simbolį. wcerrnaudoja wchar_t(platus simbolis) ir naudojamas „Unicode“ simboliams.

Skirtumas tarp wcout ir wcerr

Pradedantysis C ++ programuotojų naudoti coutir wcoutrodyti, naudojant standartinę išvestį derinti savo programas klaidą, bet ji visada gera praktika naudoti cerrir wcerrbūtų galima parodyti klaidas.

Taip yra todėl, kad užuot rodę klaidų srautą ekrane, vėliau galite pakeisti klaidų srautą, kad klaidos būtų įrašytos į failą.

wcerr deklaracija

 extern wostream wcerr; 

Tai apibrėžiama antraštės faile "> header file.

wcerrUžtikrinamas objektas turi būti inicializuoti metu arba prieš pirmą kartą, kurio tipas objektas ios_base::Inityra sukonstruotas. Po to, kai wcerrobjektas yra sukonstruoti, išraiška (wcerr.flags & unitbuf)yra ne nulis, tai reiškia, kad bet kuriame išėjime išsiųstas šie srautas objektai yra nuteka į operacinę sistemą. Taip pat, wcerr.tie() == &wcoutty wcerr.tie()grąžina, &wcouto tai reiškia, kad wcout.flush()jis vykdomas prieš bet kokią išvesties operaciją wcerr.

„Wc“ wcerr reiškia „platų simbolį“, o „klaida“ reiškia „klaida“, taigi wcerr reiškia „plati simbolių klaida“. wcerrObjektas yra naudojamas kartu su įterpimo operatoriaus (<<) tam, kad būtų rodomas simbolių srautą. Bendroji sintaksė yra:

 wcerr << varName;

arba

 wcerr << „Kai kurios stygos“;

Ištraukimo operatorius gali būti naudojamas daugiau nei vieną kartą kartu su kintamaisiais, eilutėmis ir manipuliatoriais (pvz. endl):

 wcerr << var1 << "Kai kurios eilutės" << var2 << endl;

Pavyzdys: Kaip veikia „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; )

Paleidus programą, išvestis bus: (jei failo nepavyko atidaryti)

 Klaida atidarant failą data.txt

Įdomios straipsniai...