91 votes

Comment puis-je imprimer les valeurs de wchar_t sur la console?

Exemple:

 #include <iostream>

using namespace std;

int main()
{
    wchar_t en[] = L"Hello";
    wchar_t ru[] = L"Привет"; //Russian language
    cout << ru
         << endl
         << en;
    return 0;
}
 

Ce code n'imprime que les valeurs HEX telles que l'adresse. Comment imprimer la chaîne wchar_t?

109voto

Nate Points 8984

Modifier: cela ne fonctionne pas si vous essayez d'écrire du texte qui ne peut pas être représenté dans les paramètres régionaux par défaut. :-(

Utilisez std::wcout au lieu de std::cout .

 wcout << ru << endl << en;
 

20voto

Konrad Points 8333

Puis-je suggérer std::wcout ?

Donc, quelque chose comme ça:

 std::cout << "ASCII and ANSI" << std::endl;
std::wcout << L"INSERT MULTIBYTE WCHAR* HERE" << std::endl;
 

Vous trouverez peut-être plus d'informations dans une question connexe ici .

-1voto

Michael Speer Points 911

Vous pouvez utiliser un tableau de caractères normal qui est en fait rempli de caractères utf-8. Cela devrait permettre de mélanger des caractères entre plusieurs langues.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X