Bonjour,
Je voudrais convertir
en std::string ?
Code : S�lectionner tout - Visualiser dans une fen�tre � part WCHAR name[25] = {0}; // +1 for null
Merci
Bonjour,
Je voudrais convertir
en std::string ?
Code : S�lectionner tout - Visualiser dans une fen�tre � part WCHAR name[25] = {0}; // +1 for null
Merci
Qu'entendez-vous par "convertir" ?
Un tableau "C" de WCHAR (lui aussi "C" et pas "C++") n'est pas compatible avec un std::string (type "C++"), aussi bien au niveau des "valeurs" possibles qu'au niveau m�moire (et la repr�sentation m�moire d'une std::string n'est m�me pas standardis�e).
C'est quoi le "vrai" probl�me initial, SVP ?
J'ai obtenu la r�ponse sur un autre forum, il faut utiliser WideCharToMultiByte()
merci
Attention, c'est une boite � emmerdes :
https://learn.microsoft.com/fr-fr/wi...hartomultibyte
Le format MBCS n'est pas plus compatible qu'UTF-16 avec std::string.
Une std::wstring, c'est bien plus raisonnable.
En esp�rant que ceux qui vous ont pr�conis� "WideCharToMultiByte" avait le :
C'est quoi le "vrai" probl�me initial, SVP ?
en fait je transforme le WCHAR en std::wstring sur lequel j'utilise WideCharToMultiByte (utf-8) pour obtenir un std::string que je compare � un autre std::string (utf-8), sous Windows j'ai test� "�, �" �a n'a pas l'air de poser de probl�me.
Il y a des centaines de code-page/"locale" possibles sous Windows qui chacune ne dispose pas de tous les caract�res UTF-16, et encore moins UTF-32.
Chaque ex�cutable peut changer ces r�glages qui seront h�rit�s par ses processus enfants, et c'est sans compter les configurations de consoles, les choix de police/font, etc...
Ce n'est pas en v�rifiant avec 2-3 tests que vous pouvez v�rifier qu'il n'y pas de trous dans la raquette.
Franchement, encore coder en ASCII et pas en UNICODE en 2024, c'est un non-sens.
Partager