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

MFC Discussion :

wchar_t


Sujet :

MFC

Vue hybride

Bayard wchar_t 13/05/2006, 21h49
nico-pyright(c) t'as du mal chercher alors... 13/05/2006, 22h36
NicolasG Tu as même ça dans la FAQ ;) ... 13/05/2006, 22h38
Bayard Je précise mon besoin,... 14/05/2006, 12h44
nico-pyright(c) ce n'est plus la meme... 14/05/2006, 13h26
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    863
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 863
    Par défaut wchar_t
    Bonsoir,

    Je suis Visual C++ Express 2005 et Windows XP.

    Je n'arrive pas à trouver comment on convertit une chaîne wchar_t* (je pense que c'est de l'unicode) en char*.

    L'aide de Microsoft ne m'a pas aidé. Je n'ai rien trouvé de génial dans la FAQ où en recherchant sur le forum.

    Pourtant des milliers (cetaines ?) de programmeurs doivent avoir déjà eu le problème...

    Merci

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    t'as du mal chercher alors ...

    il faut utiliser WideCharToMultiByte, quelque chose du genre (pas testé), avec wchar étant ta chaine wchar_t
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    char * chaineChar;
    int taille = (wcslen(wchar)+1) * 2;
    chaineChar = new char[taille];
    int t = WideCharToMultiByte(CP_ACP, 0, wchar, taille, NULL, 0, NULL, NULL); 
    WideCharToMultiByte(CP_ACP, 0, wchar, taille, chaineChar, t, NULL, NULL);

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487

  4. #4
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    863
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 863
    Par défaut
    Je précise mon besoin, j'aimerais convertir une chaîne :
    unsigned char CurrentString[255];//= {"coucou"};
    en LPCWSTR:
    typedef __nullterminated CONST WCHAR *LPCWSTR, *PCWSTR;

    Ce qu'il y a dans la FAQ, me parle de BSTR[FONT=monospace] et le compilateur indique qu'il refuse ce type..[/FONT]

  5. #5
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    ce n'est plus la meme question qu'au début, mais l'inverse ....
    c'est pareil sauf qu'il faut utiliser
    MultiByteToWideChar

Discussions similaires

  1. Conversion wchar_t * vers char *
    Par didierll dans le forum C++
    Réponses: 5
    Dernier message: 16/04/2007, 16h28
  2. wchar_t initialisation et concaténation
    Par frizou11 dans le forum C++
    Réponses: 6
    Dernier message: 06/04/2007, 09h29
  3. Conversion wchar_t ** vers char**
    Par progfou dans le forum C++
    Réponses: 21
    Dernier message: 23/02/2007, 10h12
  4. Réponses: 21
    Dernier message: 20/02/2006, 11h00
  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