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 :

Conversion const char* vers std::string


Sujet :

C++

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2007
    Messages
    206
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 206
    Par d�faut Conversion const char* vers std::string
    Bonjour � tous

    J'ai le "classique" probl�me du passage d'une cha�ne en const char* vers std::string.

    J'utilise un framework priv�, pour lire une ligne d'un fichier de configuration, qui me renvoie le const char. J'essaie ensuite de l'affecter � une string. Ca donne �a:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    string repertoire = GET_CONFIG_STRING("ControllerObservation.REPERTOIRE_CUR");
    Ca compile, et je pensais que c'�tait bon. Ensuite j'essaie de passer repertoire en param�tre d'une classe, qui prend une string:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Directory dir(repertoire);
    Et la je me fais jeter:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    undefined reference to `Directory::Directory(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
    C'est comme si ma string n'en �tait pas vraiment une... Quand je passe mon curseur dessus: il m'affiche:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    typedef basic_string<char> string;
    Avez-vous une id�e de comment proc�der ? Je m'arrache les cheveux :'(

    Merci d'avance

  2. #2
    Membre �m�rite
    Inscrit en
    Juillet 2005
    Messages
    512
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 512
    Par d�faut
    L'erreur est explicite, le lieur ne trouve pas la d�finition de
    Directory :: Directory(std::basic_string<char, std::char_traits<char>, std::allocator<char>>)

  3. #3
    R�dacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supa�ro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activit� : Ing Supa�ro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Par d�faut
    Quelle est la signature de du constructeur du(des ?) constructeurs de Directory ? Sinon, pour le coup du typedef, c'est normal, std::string est ainsi d�finie.
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une tr�s bonne doc sur le C++ (en) Why linux is better (fr)

  4. #4
    Membre Expert
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Par d�faut
    Directory dir(repertoire.c_str());

    on prenant soin de v�rifier que le const char* n'est pas stock� en interne car sa dur�e de vie est limit�e

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2007
    Messages
    206
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 206
    Par d�faut
    Merci � tous d'avoir r�pondu, en fait l'erreur venait de mon Makefile, j'avais mal inclus Directory. J'ai cherch� pendant longtemps au mauvais endroit^^

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. conversion const char* en string
    Par nahoula1231 dans le forum C++
    R�ponses: 4
    Dernier message: 27/02/2013, 19h50
  2. Conversion de char vers const char
    Par Lucas Panny dans le forum Visual C++
    R�ponses: 9
    Dernier message: 01/09/2008, 16h36
  3. char * vers std::wstring
    Par chronos dans le forum SL & STL
    R�ponses: 7
    Dernier message: 12/09/2007, 09h44
  4. pb conversion unsigned char vers char *
    Par FamiDoo dans le forum C
    R�ponses: 11
    Dernier message: 24/08/2006, 18h11
  5. convertir un char * en std::string
    Par benahpets dans le forum SL & STL
    R�ponses: 12
    Dernier message: 01/05/2006, 17h15

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