Comment faire pour qu'un string soit egal a un int? en c++

Résolu
ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 - 9 févr. 2007 à 22:57
ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 - 10 févr. 2007 à 11:14
Salut,







Comment faire pour qu'un string soit egal a un int? (en c++)

int nombre(1);
Je veux que :
string a soit egal a "mot1" + nombre + "mot2"

Merci d'avance a bientot!

Nicolas DUBIEN

3 réponses

yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
10 févr. 2007 à 00:57
En c++ il faudrait dériver std::string et surcharger l'operator +(int)

class

MyString :public std::string

{

   public

:
   MyString(constchar* s): std::string((constchar*)s){}

   MyString(std::string s): std::string(s){}

   virtual MyString&operator+(int i)
   {

      char num[16];

      itoa(i, num,10);

      std::string s(*this);

      s +=(constchar*)num;

      *this= s;

      return(*this);

   }

};

// Utilisation :

MyString myS("MaChaine");

cout << myS << endl;

myS = myS +100+"texte";

cout << myS << endl;   // affiche MaChaine100texte

// Mais plus simple d'utiliser itoa() directement
3
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
10 févr. 2007 à 11:09
#include <sstream>

std::ostringstream oss;
oss << 14;

std::string MyString = oss.str();
0
ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 4
10 févr. 2007 à 11:14
Salut,




Merci pour vos reponses!
J'ai pris idée sur le code de yann_lo_san et ca fonctionne bien!

Merci et à bientôt!

Nico
0
Rejoignez-nous