C ++ wclog - Bibliothèque standard C ++

L'objet wclog en C ++ est un objet de la classe wostream. Il est associé au flux de sortie d'erreur C standard stderr.

Différence entre sabot et wclog

obstruer les utilisateurs char (caractère étroit) comme type de caractère. Il peut être utilisé pour les caractères ASCII et ANSI.

Pour l'internationalisation, nous avons besoin de chaînes Unicode qui ne rentrent pas dans char. wclog utilise wchar_t (caractère large) et utilisable pour les caractères Unicode.

Différence entre wcerr et wclog

wcloget wcerr, les deux sont associés à stderr, mais il en diffère wcerren ce sens que les flux dans wclogsont mis en mémoire tampon et ne sont pas automatiquement liés avec wcout.

La sortie tamponnée est plus efficace que la sortie sans tampon. Dans le cas d'une sortie tamponnée, toute la sortie est enregistrée dans une variable et écrite sur le disque en même temps. Pour une sortie sans tampon, nous devons continuer à écrire sur le disque.

La sortie en mémoire tampon n'est pas préférée pour les erreurs critiques. En cas de panne du système, il peut arriver une situation où la sortie était toujours dans la mémoire tampon et n'a pas été écrite sur le disque et le message d'erreur ne peut pas être récupéré. Nous ne pouvons pas nous permettre de perdre des données d'erreur en cas de panne du système, nous continuons donc à écrire les erreurs critiques sur le disque même s'il est plus lent.

wclogest couramment utilisé à des fins de journalisation. Pour la journalisation des événements non critiques, l'efficacité est plus importante, donc wclog est préféré wcerr.

déclaration wclog

 extern ostream wclog;

Il est défini dans le fichier d'en-tête "> fichier d'en-tête.

L' wclogobjet est assuré d'être initialisé pendant ou avant la première construction d'un objet de type ios_base::Init. wclogn'est lié à aucun autre flux.

Le "wc" dans se wclogréfère au "caractère large", donc wclogsignifie "journal des caractères larges". La

wclogobject est utilisé avec l'opérateur d'insertion (<<) afin d'afficher un flux de caractères. La syntaxe générale est:

 wclog << varName;

ou

 wclog << "Une chaîne";

L'opérateur d'extraction peut être utilisé plus d'une fois avec une combinaison de variables, de chaînes et de manipulateurs (comme endl):

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

Exemple: comment fonctionne 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

Articles intéressants...