Maison > Article > développement back-end > Pourquoi l'impression des valeurs « wchar_t » sur la console entraîne-t-elle des adresses hexadécimales au lieu de caractères ?
Impression des valeurs wchar_t sur la console
Lors de la tentative d'impression des valeurs wchar_t à l'aide de std::cout, les utilisateurs peuvent rencontrer des cas où seules des adresses hexadécimales apparaissent à la place des caractères prévus. Cette anomalie se produit en raison de l'inadéquation entre wchar_t, qui représente les caractères larges, et std::cout, qui est conçu pour gérer les caractères étroits.
Pour résoudre ce problème, la réponse au problème suggère d'utiliser std::wcout à la place. .
SOLUTION
L'extrait de code ci-dessous démontre l'utilisation de std::wcout pour imprimer correctement les chaînes wchar_t :
#include <iostream> using namespace std; int main() { wchar_t en[] = L"Hello"; wchar_t ru[] = L"Привет"; //Russian language wcout << ru << endl << en; return 0; }
En utilisant std::wcout, les caractères larges du tableau wchar_t sont correctement interprétés et imprimés sur la console, résolvant le problème des adresses hexadécimales. Cette approche permet l'affichage correct des caractères en dehors de la plage de caractères étroite standard, tels que ceux rencontrés dans différentes langues.
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!