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
wclog
und wcerr
beide sind damit verbunden stderr
, aber es unterscheidet sich von wcerr
dem Sinne, dass die Streams in wclog
gepuffert 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.
wclog
wird ü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 wclog
wird sichergestellt, dass das Objekt während oder vor der ersten ios_base::Init
Erstellung eines Objekttyps initialisiert wird. wclog
ist an keinen anderen Stream gebunden.
Das "wc" in wclog
bezieht sich auf "breites Zeichen" und wclog
bedeutet daher "breites Zeichenprotokoll". Das
wclog
Objekt 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