C ++ wclog - C ++ standardraamatukogu

C ++ objekt wclog on klassi wostream objekt. See on seotud standardse C vea väljundvoo stderriga.

Erinevus ummistuse ja wclogi vahel

ummistada kasutajad char (kitsas tähemärk) märgitüübina. Seda saab kasutada ASCII ja ANSI tähemärkide jaoks.

Rahvusvaheliseks muutumiseks vajame Unicode'i stringe, mis ei mahu tähemärki. wclog kasutab wchar_t (lai tähemärk) ja seda saab kasutada Unicode'i märkide jaoks.

Wcerri ja wclogi erinevus

wclogja wcerrmõlemad on seotud stderr, kuid see erineb wcerrselles mõttes, et voogudes wclogon puhverdatud ega ole automaatselt seotud wcout.

Puhverdatud väljund on tõhusam kui pakkimata väljund. Puhverdatud väljundi korral salvestatakse kogu väljund muutujasse ja kirjutatakse korraga kettale. Pakendamata väljundi jaoks peame kirjutama kettale.

Puhverdatud väljundit ei eelistata kriitiliste vigade korral. Süsteemi krahhi korral võib tekkida olukord, kus väljund oli endiselt puhvris ja seda ei olnud kettale kirjutatud ning tõrketeadet ei saa tuua. Me ei saa lubada süsteemi krahhi korral veaandmete kaotamist, seega kirjutame kriitilised vead plaadile, kuigi see on aeglasem.

wclogkasutatakse tavaliselt metsaraie eesmärgil. Mittekriitiliste sündmuste logimisel on olulisem efektiivsus, seega eelistatakse wclog'i wcerr.

wclog deklaratsioon

 extern ostream wclog;

See on määratletud päisefailis "> päisefail.

wclogOn kindlustatud lähtestada ajal või enne esimest korda objekti tüübiga ios_base::Initon ehitatud. wclogpole ühegi teise vooga seotud.

"Wc" wclogviitab "laiale tähemärgile", seega wclogtähendab "laia tähemärkide logi". The

wclogobjekti kasutatakse koos sisestusoperaatoriga (<<) tähemärkide voo kuvamiseks. Üldine süntaks on:

 wclog << varName;

või

 wclog << "Mõned stringid";

Ekstraheerimisoperaatorit saab kasutada mitu korda koos muutujate, stringide ja manipulaatorite (näiteks endl) kombinatsiooniga :

 wclog << var1 << "Mõni string" << var2 << endl;

Näide: Kuidas wclog töötab?

 #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

Huvitavad Artiklid...