„C ++ wclog“ - „C ++“ standartinė biblioteka

C ++ objektas „wclog“ yra klasės „wostream“ objektas. Tai siejama su standartine C klaidos išvesties srauto stderr.

Clog ir wclog skirtumas

užkimšti vartotojus char (siauras simbolis) kaip simbolio tipą. Jis gali būti naudojamas ASCII ir ANSI simboliams.

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

Skirtumas tarp wcerr ir wclog

wclogir wcerrabu yra susieti stderr, tačiau skiriasi nuo wcerrta prasme, kad srautai wclogyra buferiniai ir nėra automatiškai susieti wcout.

Buferinė išvestis yra efektyvesnė už neparduotą išvestį. Buferinės išvesties atveju visa išvestis įrašoma į kintamąjį ir iš karto įrašoma į diską. Norėdami neišpirkti išvesties, turime toliau rašyti į diską.

Buferinis išėjimas nėra pageidaujamas dėl kritinių klaidų. Sistemos gedimo atveju gali atsirasti situacija, kai išvestis vis dar buvo buferyje ir nebuvo įrašyta į diską, o klaidos pranešimo nepavyksta atgauti. Negalime sau leisti prarasti klaidų duomenų sistemos gedimo atveju, todėl kritines klaidas nuolat rašome į diską, nors jie yra lėtesni.

wclogyra paprastai naudojamas medienos ruošos tikslams. Nekritinių įvykių registravimui svarbesnis yra efektyvumas, todėl pirmenybė teikiama „wclog“ wcerr.

wclog deklaracija

 extern ostream wclog;

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

wclogUžtikrinamas objektas turi būti inicializuoti metu arba prieš pirmą kartą, kurio tipas objektas ios_base::Inityra sukonstruotas. wclognėra pririštas prie jokios kitos srovės.

„Wc“ wclogreiškia „platų simbolį“, taigi wclogreiškia „platų simbolių žurnalą“.

wclogobjektas naudojamas kartu su įterpimo operatoriumi (<<), kad būtų rodomas simbolių srautas. Bendroji sintaksė yra:

 wclog << varName;

arba

 wclog << „Kai kurios stygos“;

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

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

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

Įdomios straipsniai...