C ++ wclog - C ++ Standardbibliothek

Das wclog-Objekt in C ++ ist ein Objekt der Klasse wostream. Es ist dem Standard-C-Fehlerausgabestream stderr zugeordnet.

Unterschied zwischen Clog und Wclog

Clog User Char (schmales Zeichen) als Zeichentyp. Es kann für ASCII- und ANSI-Zeichen verwendet werden.

Für die Internationalisierung benötigen wir Unicode-Strings, die nicht in char passen. wclog verwendet wchar_t (breites Zeichen) und kann für Unicode-Zeichen verwendet werden.

Unterschied zwischen wcerr und wclog

wclogund wcerrbeide sind damit verbunden stderr, aber es unterscheidet sich von wcerrdem Sinne, dass die Streams in wcloggepuffert und nicht automatisch mit verknüpft sind wcout.

Die gepufferte Ausgabe ist effizienter als die ungepufferte Ausgabe. Bei gepufferter Ausgabe wird die gesamte Ausgabe in einer Variablen gespeichert und auf einmal auf die Festplatte geschrieben. Für eine ungepufferte Ausgabe müssen wir weiter auf die Festplatte schreiben.

Die gepufferte Ausgabe wird für kritische Fehler nicht bevorzugt. Im Falle eines Systemabsturzes kann es vorkommen, dass sich die Ausgabe noch im Puffer befand und nicht auf die Festplatte geschrieben wurde und die Fehlermeldung nicht abgerufen werden kann. Wir können es uns nicht leisten, Fehlerdaten im Falle eines Systemabsturzes zu verlieren, daher schreiben wir die kritischen Fehler weiter auf die Disc, obwohl sie langsamer sind.

wclogwird üblicherweise für Protokollierungszwecke verwendet. Für die unkritische Ereignisprotokollierung ist die Effizienz wichtiger, daher wird wclog vorgezogen wcerr.

wclog-Erklärung

 extern ostream wclog;

Es ist in der Header-Datei "> Header-Datei definiert.

Es wclogwird sichergestellt, dass das Objekt während oder vor der ersten ios_base::InitErstellung eines Objekttyps initialisiert wird. wclogist an keinen anderen Stream gebunden.

Das "wc" in wclogbezieht sich auf "breites Zeichen" und wclogbedeutet daher "breites Zeichenprotokoll". Das

wclogObjekt wird zusammen mit dem Einfügeoperator (<<) verwendet, um einen Zeichenstrom anzuzeigen. Die allgemeine Syntax lautet:

 wclog << varName;

oder

 wclog << "Some String";

Der Extraktionsoperator kann mehrmals mit einer Kombination aus Variablen, Zeichenfolgen und Manipulatoren (wie endl) verwendet werden:

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

Beispiel: Wie funktioniert 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

Interessante Beiträge...