Bonjour,
Je cherche à faire cette convertion, j'ai pu faire de wstring a char* mais pas encore l'inverse
Merci
Bonjour,
Je cherche à faire cette convertion, j'ai pu faire de wstring a char* mais pas encore l'inverse
Merci
Malheureusement, pour autant que je sache, il faut une conversion intermédiaire vers un wchar*![]()
Salut,
Dans la FAQ il y a ça.
C'est pas ce que tu cherches ?
MAT.
En fait il y a deux choses : la taille des charactères (char ou wchar_t) et le format (y'en a des tas par ex cp1252, iso-8859-1, utf-8, utf-16, etc..).
Pour effectuer une 'conversion' un peu 'correcte' il faut donc un peu plus d'information que juste la taille des caractères.
D'où viennent et où vont les données ? Connais-tu leurs formats ?
Comment tu fais ta conversion de std::wstring->std::string qui 'fonctionne' ?
Si tu lui passes des hiragana elle en fait quoi ?
MAT.
En fait les données sont des données d'un fichier XML (UTF-8 mais je ne suis pas sur que l'encodage soit toujours UTF-8 donc cette info n'est pas fiable :s)
Ensuite si le fichier est ecrit avec un alphabet "tordu" tout ce que j'ai fait explose \o/.
Ce n'est pas fait pour ça, mon seul soucis est de passer d'un representation char * a std::wstring, le char * n'est pas négociable et je n'ai pas envi de ma trainer des char * dans mon c++.
Salut,
Comme indiqué plus haut, il n'y a rien à faire, il faudra passer par un wchar_t* intermédiaire...
Si tu fais une recherche sur le forum, tu devrait trouver assez facilement la fonction qui permet d'y arriver (il me semble l'avoir vue passer il y a moins d'un mois...)
Maintenant, je me demande ce qui sera le plus intéressant:
Te balader avec la chaine "au format originel" jusqu'à ce que tu aies besoin de la convertir (wchar_t* <==> char*) ou, dés le départ, effectuer conversion, et ne te balader qu'avec la conversion(on pourrait sans doute trouver autant de raison de faire l'un que l'autre
)
Effectivement, il semble que j'ai à passer par un wchar_t, dans mon cas je ferais la conversion desuite, histoire de bien marqué la fontière entre ce que je fait et ce que je recois...
Merci pour vos réponse je tag [resolu] pour la peine.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager