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

C++ Discussion :

[C++]LPSTR to CString


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Cirdan Telemnar
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Par défaut [C++]LPSTR to CString
    j'ai un petit peu de difficulté avec l'Unicode et l'Ansi depuis que je suis sous Visual Studio 2005

    je sais comment passer de CString a LPSTR mais l'enverse je trouve pas

  2. #2
    Membre chevronné Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Par défaut
    LPSTR est un char*

    CString s = ta_chaine;
    Ca devrait fonctionner.

  3. #3
    Membre confirmé Avatar de Cirdan Telemnar
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Par défaut
    ca fonctionne mais ca m'affiche pas ce que je veux car je communique avec un peripherique exterieur qui m'envoie via un LPSTR une chaine Ansi et ca m'affiche en Unicode

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731
    Par défaut
    Tu es sous Visual 2005 ?

  5. #5
    Membre confirmé Avatar de Cirdan Telemnar
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Par défaut
    ouep

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731
    Par défaut
    Tu es en Character Set : "Use Unicode character set" ?
    Utilise un CStringA pour ne plus avoir de caractère Unicode et fonctionner en ANSI

  7. #7
    Membre chevronné Avatar de Rafy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    415
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 415
    Par défaut
    Citation Envoyé par Mayti4
    LPSTR est un char*
    Pas toujours...
    TCHAR c'est un char quand UNICODE n'est pas défini, mais c'est un w_tchar quand UNICODE est défini.
    Donc si ton application accepte l'unicode, alors quand UNICODE est défini alors LPSTR n'est pas un char* mais un w_tchar*... Et avec ça tu ne peux pas construire une std::string.
    Il faut que tu construise une std::wstring

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731
    Par défaut
    Citation Envoyé par Rafy
    Pas toujours...
    TCHAR c'est un char quand UNICODE n'est pas défini, mais c'est un w_tchar quand UNICODE est défini.
    Donc si ton application accepte l'unicode, alors quand UNICODE est défini alors LPSTR n'est pas un char* mais un w_tchar*... Et avec ça tu ne peux pas construire une std::string.
    Il faut que tu construise une std::wstring
    Je pense que Cidran utilise les string des MFC et pas les std::string

  9. #9
    Membre chevronné Avatar de Rafy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    415
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 415
    Par défaut
    Ben il l'a pas dis, mais ce que j'ai dis n'est pas faux tout de même

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731
    Par défaut
    En effet

Discussions similaires

  1. conversion : VARIANT FAR* URL vers CString
    Par kam dans le forum MFC
    Réponses: 2
    Dernier message: 29/03/2004, 13h32
  2. [MFC][WinCE] Longueur maxi de CString?
    Par Sunny dans le forum MFC
    Réponses: 3
    Dernier message: 28/01/2004, 14h40
  3. Réponses: 2
    Dernier message: 21/01/2004, 17h59
  4. LPSTR vs CHAR*
    Par Heaven dans le forum Windows
    Réponses: 3
    Dernier message: 10/12/2003, 00h45
  5. Convertion de type VARIANT à type CString
    Par j_grue dans le forum MFC
    Réponses: 2
    Dernier message: 07/11/2002, 14h18

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