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 régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 228
    Points : 102
    Points
    102
    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 : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

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

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

  3. #3
    Membre expérimenté

    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
    Points : 1 543
    Points
    1 543
    Par défaut
    Salut,

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


    MAT.

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 228
    Points : 102
    Points
    102
    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 expérimenté

    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
    Points : 1 543
    Points
    1 543
    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 régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 228
    Points : 102
    Points
    102
    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 sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 626
    Points : 30 684
    Points
    30 684
    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 )

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 228
    Points : 102
    Points
    102
    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