Partage
  • Partager sur Facebook
  • Partager sur Twitter

Concaténer deux chaines

Sujet résolu
    17 avril 2008 à 14:26:51

    Bonjour,
    petite question simple aujourd'hui !
    Je désire concaténer deux chaines, de deux type différent.

    si j'ai deux string's, je vais les coller comme ca:

    std::string chaine1, chaine2, resultat;
    chaine1 = "ping";
    chaine2 = "pong";
    resultat = chaine1 + chaine2;
    


    Mais si j'ai:

    std::string chaine = "ma chaine";
    int numero = 99;
    std::string resultat = chaine + numero; //je voudrais que ça donne "ma chaine99"
    


    j'aurai l'erreur suivante:

    no match for 'operator+' in 'chaine + numero'|
    ||=== Build finished: 1 errors, 0 warnings ===|

    Donc, voila ! je voulais savoir comment concaténer deux chaines de type différent (sans strcat si possible).

    Merci,
    Kevin.


    • Partager sur Facebook
    • Partager sur Twitter
      17 avril 2008 à 14:45:16

      Utilises des std::ostringstream (FAQ C++ de developpez)
      • Partager sur Facebook
      • Partager sur Twitter
      C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
        17 avril 2008 à 14:55:44

        Mettre dans les includes :
        #include <sstream>
        


        Et concaténer comme ceci :
        ostringstream oss;
         
        string chaine = "chaine", resultat;
        int entier = 24;
         
        oss << chaine << entier;
        
        resultat = oss.str();
        
        cout<< resultat;
        


        Résultat :
        chaine24
        • Partager sur Facebook
        • Partager sur Twitter
          17 avril 2008 à 15:18:34

          Merci beaucoup, exactement ce que je voulais !!

          @++
          • Partager sur Facebook
          • Partager sur Twitter

          Concaténer deux chaines

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown