IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SL & STL C++ Discussion :

char * vers std::wstring


Sujet :

SL & STL C++

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 228
    Par défaut char * vers std::wstring
    Bonjour,

    Je cherche à faire cette convertion, j'ai pu faire de wstring a char* mais pas encore l'inverse

    Merci

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Malheureusement, pour autant que je sache, il faut une conversion intermédiaire vers un wchar*

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Salut,

    Dans la FAQ il y a ça.
    C'est pas ce que tu cherches ?


    MAT.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 228
    Par défaut
    Citation Envoyé par Mat007 Voir le message
    Salut,

    Dans la FAQ il y a ça.
    C'est pas ce que tu cherches ?


    MAT.
    Je ne crois pas (je n'ai pas tout compri :s), et j'ai vraiment du mal a utiliser des choses que je ne comprends pas :p, je regarde d'un peu plus pret depuis hier mais je ne trouve que des articles parlant de multilangue et je ne suis aps sur du resultat

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    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.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 228
    Par défaut
    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++.

  7. #7
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 633
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 633
    Par défaut
    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 )
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 228
    Par défaut .
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Convertion char vers int
    Par barthelv dans le forum C
    Réponses: 8
    Dernier message: 08/10/2011, 21h45
  2. Conversion const char* vers std::string
    Par scheme dans le forum C++
    Réponses: 4
    Dernier message: 21/09/2010, 11h02
  3. Convertion std::wstring en char*
    Par pegase06 dans le forum SL & STL
    Réponses: 48
    Dernier message: 05/03/2008, 15h43
  4. convertir un char * en std::string
    Par benahpets dans le forum SL & STL
    Réponses: 12
    Dernier message: 01/05/2006, 17h15
  5. Conversion char * vers wchar_t
    Par Zapan dans le forum C++
    Réponses: 4
    Dernier message: 24/02/2005, 15h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo