C ++ wclog - Libreria standard C ++

L'oggetto wclog in C ++ è un oggetto della classe wostream. È associato al flusso di output degli errori standard C stderr.

Differenza tra clog e wclog

clog users char (narrow character) come tipo di carattere. Può essere utilizzato per i caratteri ASCII e ANSI.

Per l'internazionalizzazione, abbiamo bisogno di stringhe Unicode che non si adattano a char. wclog utilizza wchar_t (carattere ampio) e utilizzabile per i caratteri Unicode.

Differenza tra wcerr e wclog

wcloge wcerr, entrambi sono associati a stderr, ma differisce da wcerrnel senso che i flussi in wclogingresso sono bufferizzati e non collegati automaticamente wcout.

L'output bufferizzato è più efficiente dell'output senza buffer. Nel caso dell'output bufferizzato, tutto l'output viene salvato in una variabile e scritto su disco tutto in una volta. Per l'output senza buffer, dobbiamo continuare a scrivere su disco.

L'output memorizzato nel buffer non è preferito per gli errori critici. In caso di arresto anomalo del sistema, può verificarsi una situazione in cui l'output era ancora nel buffer e non è stato scritto su disco e il messaggio di errore non può essere recuperato. Non possiamo permetterci di perdere i dati di errore in caso di crash del sistema, quindi continuiamo a scrivere gli errori critici sul disco anche se è più lento.

wclogè comunemente usato per scopi di registrazione. Per la registrazione di eventi non critici, l'efficienza è più importante, quindi si preferisce wclog wcerr.

dichiarazione wclog

 extern ostream wclog;

È definito nel file di intestazione "> file di intestazione.

Si wcloggarantisce che l' oggetto venga inizializzato durante o prima della prima costruzione di un oggetto di tipo ios_base::Init. wclognon è legato a nessun altro flusso.

Il "wc" in si wclogriferisce a "carattere ampio", quindi wclogsignifica "registro caratteri ampio". Il

wclogoggetto viene utilizzato insieme all'operatore di inserimento (<<) per visualizzare un flusso di caratteri. La sintassi generale è:

 wclog << varName;

o

 wclog << "Some String";

L'operatore di estrazione può essere utilizzato più di una volta con una combinazione di variabili, stringhe e manipolatori (come endl):

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

Esempio: come funziona 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

Articoli interessanti...