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 :

concatener deux chaines


Sujet :

C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 33
    Points : 19
    Points
    19
    Par défaut concatener deux chaines
    Bonjour,

    je dois concatener deux chaines de caractères sans utiliser de strings....

    J'ai donc surcharger mon operateur + mais je n'arrives pas à faire fonctionner.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    CChaine CChaine::operator+(const char* message)
    {
    	int taillemessage;
    	int tailletotal;
    	taillemessage=strlen(message);
    	tailletotal=m_size+taillemessage;
    	char*chn=new char[tailletotal+1];
    	strcpy(chn,message);
    	CChaine Chainecomplete=chn;
    	return chn;
     
    }

  2. #2
    Invité
    Invité(e)
    Par défaut
    Je crois que l'erreur vient de cette ligne :
    Tu ne copies que la seconde partie du message
    De plus il est généralement conseillé de définir l'operator+ à l'exterieur de la classe(pour autoriser certaines conversions) et à partir de l'operator+= pour diverses raisons(efficacité, robustesse face aux exceptions...)

    En effet si tu teste ta classe avec ce petit code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CString maChaine;
    maChaine + "mon message"; // pas de problème dans tout les cas
    "mon message" + maChaine; // erreur de compilation si l'op + est déclaré comme membre

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 33
    Points : 19
    Points
    19
    Par défaut
    Merci de ta reponse. En fait je ne sais pas quoi mettre dans le strcpy

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 33
    Points : 19
    Points
    19
    Par défaut
    j'ai trouvé une solution....mais je dois maintenant surcharger l'operateur <<

Discussions similaires

  1. concatené deux chaine de caractère
    Par solo190 dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 29/07/2011, 12h48
  2. concatener deux chaines
    Par tousa dans le forum Débuter
    Réponses: 7
    Dernier message: 28/05/2010, 02h18
  3. Concatener deux chaines simple
    Par Zouko dans le forum Développement
    Réponses: 3
    Dernier message: 03/06/2008, 10h27
  4. Concaténer deux fichiers Ligne/Ligne avec SH
    Par guiltouf dans le forum Linux
    Réponses: 7
    Dernier message: 22/05/2007, 14h35
  5. Script test de deux chaine avec if
    Par kacedda dans le forum Linux
    Réponses: 6
    Dernier message: 02/05/2003, 15h38

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