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 :

CString to std::string probleme


Sujet :

SL & STL C++

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4
    Points : 3
    Points
    3
    Par défaut CString to std::string probleme
    Bonjour je suis sous visual C++ 2005

    en MFC :-( une boite de dialogue me retourne un CString.
    Je veux en suite le convertir en string pour le r'envoyer à une autre fonction

    Dans les tutos on trouve :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Convertion d'une CString vers une std::string: 
    CString str("Bonjour");
    std::string s((LPCTSTR)str);
     
     
    Convertion d'une std::string vers une CString: 
       std::string s("Bonjour");
       CString str(s.c_str());
    Mais lors de la compilation il plante sur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    m_Image.sauvegarde ((LPCTSTR)dlg.GetPathName());
    ça me donne l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error C2440: 'initializing' : cannot convert from 'LPCTSTR' to 'const std::string&'
    Quelqu'un pourait-il m'aider??

    merci d'avance!

  2. #2
    Membre émérite
    Avatar de la drogue c'est mal
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    2 253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 2 253
    Points : 2 747
    Points
    2 747
    Par défaut
    bah la réponse est dans la question (ou plutot le message d'erreur). Le prototype demande une reference et tu lui passes un pointeur (au passage, ca sert à rien de faire un copier/coller d'un code sans le comprendre).

    Pour ton probleme, passe par une variable intermédiaire.

  3. #3
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 380
    Points : 41 576
    Points
    41 576
    Par défaut
    Problème d'unicode je parie.
    Essaie ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    //Convertion d'une CString vers une std::string
    CString str("Bonjour");
    CStringA strA(str);
    std::string s(static_cast< LPCSTR >(strA));
    Ou bien, ceci (mais sûrement inutile pour toi) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    //Convertion d'une CString vers une std::basic_string< TCHAR >
    CString str("Bonjour");
    std::basic_string< TCHAR > s(static_cast< LPCTSTR >(str));

Discussions similaires

  1. convertir un CString en std::string
    Par azamharir dans le forum MFC
    Réponses: 1
    Dernier message: 04/04/2008, 08h36
  2. Pb sur conversion CString en std:string
    Par Minos2 dans le forum MFC
    Réponses: 2
    Dernier message: 18/07/2007, 17h18
  3. conversions std::string <---> CString
    Par Rupella dans le forum MFC
    Réponses: 5
    Dernier message: 21/02/2006, 15h11
  4. std::string, operator =
    Par tut dans le forum SL & STL
    Réponses: 10
    Dernier message: 05/11/2004, 12h07
  5. [String] Probleme incomprehensible avec split
    Par scorpiwolf dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 20/07/2004, 21h21

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