Maison  >  Article  >  développement back-end  >  Comment imprimer correctement les valeurs wchar_t sur la console ?

Comment imprimer correctement les valeurs wchar_t sur la console ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-20 02:35:02375parcourir

How to Print wchar_t Values to the Console Correctly?

Impression des valeurs wchar_t sur la console

Lorsque vous travaillez avec des valeurs wchar_t, qui représentent des caractères larges qui englobent plusieurs octets, les imprimer directement sur le console utilisant std::cout peut entraîner l'affichage de valeurs hexadécimales au lieu des caractères prévus. Pour imprimer correctement les chaînes wchar_t, il existe deux approches recommandées.

1. Utilisez std::wcout:

Le flux std::wcout gère explicitement les caractères larges, permettant une impression correcte des valeurs wchar_t. Pour utiliser cette approche, remplacez std::cout par std::wcout dans votre code :

wcout << ru << endl << en;

Cela imprimera les chaînes "Привет" et "Hello" dans leurs langues respectives.

2. Caster explicitement en char :

Si vous devez utiliser std::cout, vous pouvez explicitement convertir les valeurs wchar_t en char avant de les écrire dans la console. Cette approche est moins préférable mais peut être utile si std::wcout n'est pas disponible :

cout << (char*)ru << endl << (char*)en;

Cependant, notez que cette méthode peut ne pas fonctionner correctement pour les caractères qui ne peuvent pas être représentés à l'aide du codage de caractères par défaut de votre système. .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn