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 :

convertir un char * en string


Sujet :

C++

  1. #1
    Membre habitu�
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 9
    Par d�faut convertir un char * en string
    Je souhaite convertir un tableau de char en string, avec un code du genre :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    char *msg[MAXMSG];
    /* ... du code où je met un message dans msg ...*/
    string nom(msg);
    et l� ca ne compile pas avec un joli message d'erreur comme quoi "impossible de convertir le paramettre blabla..."

    la seule doc que j'ai trouv� sur le site ne m'a pas eclair� :
    http://c.developpez.com/faq/cpp/?pag...INGS_from_char

    Si quelqu'un a une id�e pour resoudre rapidement le probleme, merci beaucoup !

  2. #2
    R�dacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur s�curit� informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Chercheur s�curit� informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Par d�faut
    Bonjour,

    char *msg[MAXMSG];
    Sommes-nous d'accord sur le fait que "msg" soit un tableau de pointeurs de char ?

    Si c'est bien exact :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    #include <iostream>
    #include <string>
     
    using namespace std;
     
    int main (void)
    {
    	char * msg[2];
     
    	msg[0] = "exemple";
    	char chaine[] = "2ieme exemple";
     
    	msg[1] = chaine;
     
    	cout << msg[0] << endl;
    	cout << msg[1] << endl;
     
    	string str = msg[0];
    	string str2;
    	str2.assign ( msg[1] );
     
    	cout << str << endl;
    	cout << str2;
     
    	return 0;
    }
    dans le cas o� "msg" est une simple chaine :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    	char msg[] = "simple exemple";
     
    	string str = msg;
     
    	/* ou encore
     
    	string str;
    	str.assign ( msg );
     
    	*/
     
    	cout << str << endl;

  3. #3
    Membre chevronn� Avatar de Rafy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    415
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 415
    Par d�faut
    Nous sommes en C++, c'est pas mal de ne plus utiliser les char* pour stocker et travailler sur des chaines de caract�re...
    vive la STL et les std::string

  4. #4
    Membre chevronn� Avatar de niglo
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    379
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 379
    Par d�faut
    Citation Envoy� par Rafy
    Nous sommes en C++, c'est pas mal de ne plus utiliser les char* pour stocker et travailler sur des chaines de caract�re...
    vive la STL et les std::string
    De plus, les string sont beaucoup plus maniables que les char*
    Vive les string

  5. #5
    Membre habitu�
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 9
    Par d�faut
    En effet je me suis melang� les pinceaux avec ma chaine de caracteres qui est en fait une simple chaine :
    Dessuite �a marche beaucoup mieu.
    La morale de l'histoire c'est qu'il faut pas essayer de coder tard dans la nuit.
    Merci beaucoup � tout le monde d'avoir pris le temps de lire et de repondre.

    ps: pour ce qui est de l'utilisation du tableau de caractere, c'est pour recuperer du texte depuis un socket. "Il me semble" que cela m'evite des problemes de serialisation de string, choses qui m'ont paru obscure et compliqu� de prime abord, voila donc le pourquoi du comment.

  6. #6
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 5 296
    Par d�faut
    Vu que la longueur des messages que je r�cup�re est variable, j'utilise des std::vector<>. La m�moire est contigue, redimensionable, et il est m�me possible de feinter � coups de resize() pour �viter les r�allocations perp�tuelles en temps-r�el.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...

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

Discussions similaires

  1. Convertir un char[][] en string
    Par cyrodil dans le forum Langage
    R�ponses: 20
    Dernier message: 15/03/2009, 21h04
  2. Convertir Char* en String
    Par Blunt dans le forum C++/CLI
    R�ponses: 1
    Dernier message: 01/07/2007, 16h46
  3. Convertir char* en string
    Par KorTeX22 dans le forum C++
    R�ponses: 5
    Dernier message: 13/03/2007, 11h54
  4. Convertir un Char* en string
    Par DEVfan dans le forum C++
    R�ponses: 4
    Dernier message: 05/01/2007, 16h15
  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