Afficher un type string

GIRAFE ENRHUMEE Messages postés 44 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 22 mai 2006 - 27 févr. 2005 à 01:31
darkkinj Messages postés 18 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 12 mars 2005 - 12 mars 2005 à 14:39
Dans Visual C++, on m'affiche l'erreur que les flots << (ou >>) ne sont pas surdéfinis pour recevoir une opérande droite de type string.
Dans Dev C++, je n'ai pas cette erreur. Y'a-t-il une classe spéciale à integrer pour que ça marche dans Visual ?

2 réponses

bayeto Messages postés 224 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 18 octobre 2010
27 févr. 2005 à 21:06
J'ai pas ce genre de problème. Tu as bien inclue et <string> au debut de ton source?. Au pire, tu peux faire un:

ostream& operator << (ostream& o,const string& s) {
return o << s.c_str();
}
0
darkkinj Messages postés 18 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 12 mars 2005
12 mars 2005 à 14:39
oui j'ai aussi rencontré un problème du genre. Je ne sais pas pourquoi
ils ne sont pas aller surcharger cet opérateur pour une classe de la
stl mais bon faut faire avec.

cin et cout affichent des types char* par contre donc la solutio, je
l'accorde on pourrait faire mieux et d'utiliser une hiostoire de
pointeur.

ton string: string toto("ma chaine");

pour le passer en char* : &toto[0];

toto[0] te retourne le premier élément de ta chaine, le & fait qu'on récupère l'adresse du coups tu as un char*.

voila u n'as plus qu'a taper par exemple : cout << &toto[0]
<< endl; pour que ca te sorte la chaine sur un cout.



A bientot.

darkkinj
http://www.kinj.fr.st
0
Rejoignez-nous