C ++ wclog - C ++ standaardbibliotheek

Het wclog-object in C ++ is een object van de klasse wostream. Het wordt geassocieerd met de standaard C-foutuitvoerstroom stderr.

Verschil tussen clog en wclog

verstoppen gebruikers char (smal teken) als tekentype. Het kan worden gebruikt voor ASCII- en ANSI-tekens.

Voor internationalisering hebben we Unicode-strings nodig die niet in char passen. wclog gebruikt wchar_t (breed teken) en is bruikbaar voor Unicode-tekens.

Verschil tussen wcerr en wclog

wclogen wcerrbeide zijn geassocieerd met stderr, maar het verschilt van wcerrin die zin dat de streams wclogdie binnenkomen worden gebufferd en niet automatisch met wcout.

Gebufferde uitvoer is efficiënter dan ongebufferde uitvoer. In het geval van gebufferde uitvoer wordt alle uitvoer in een variabele opgeslagen en in één keer naar schijf geschreven. Voor ongebufferde uitvoer moeten we naar schijf blijven schrijven.

Gebufferde uitvoer heeft niet de voorkeur voor kritieke fouten. In het geval van een systeemcrash, kan er een situatie ontstaan ​​waarin de uitvoer zich nog in de buffer bevond en niet naar schijf werd geschreven en het foutbericht niet kan worden opgehaald. We kunnen het ons niet veroorloven om foutgegevens te verliezen in geval van een systeemcrash, dus we blijven de kritieke fouten naar schijf schrijven, ook al is deze langzamer.

wclogwordt vaak gebruikt voor logging doeleinden. Voor niet-kritieke gebeurtenisregistratie is efficiëntie belangrijker, dus wclog heeft de voorkeur wcerr.

wclog-verklaring

 externe ostream wclog;

Het wordt gedefinieerd in header-bestand "> header-bestand.

Het wclogobject wordt geïnitialiseerd tijdens of vóór de eerste keer dat een object van het type ios_base::Initwordt geconstrueerd. wclogis niet gebonden aan een andere stream.

De "wc" in wclogverwijst naar "wide character", en wclogbetekent dus "wide character log". De

wclogobject wordt samen met de invoegoperator (<<) gebruikt om een ​​stroom tekens weer te geven. De algemene syntaxis is:

 wclog << varNaam;

of

 wclog << "Some String";

De extractie-operator kan meerdere keren worden gebruikt met een combinatie van variabelen, strings en manipulatoren (zoals endl):

 wclog << var1 << "Some String" << var2 << endl;

Voorbeeld: hoe wclog werkt?

 #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

Interessante artikelen...