ANSI C++ Conversion int to string - C++ - Programmation
Marsh Posté le 16-04-2004 à 18:44:50
Code :
|
t'as fait du PHP toi (:pfff
fais un tableau
Marsh Posté le 16-04-2004 à 18:55:04
C pas con avec les stream... Merci, jva essayer
c pas pour php, et c pas possible un tableau car je doit faire une animation sous gimp et mes variables sont des images devant s'appeler image_i
Merci!
Marsh Posté le 16-04-2004 à 19:00:40
bah change tes histoires de gimp et utilise un tableau. on a jamais vu des variable_i
Marsh Posté le 02-09-2007 à 15:36:06
Dans le même genre de choses, voici le problème
qui me résiste :
J'ai écrit une fonction permettant de transformer un int en un string
(etant débutant, je sais que cette fonction est primitive)
Code :
|
Pour la tester, j'ai créé une classe de test (en utilisant la librairie CPPUNIT)
avec la fonction suivante :
Code :
|
Lorsque je lance les tests unitaires, j'obtiens le résultat suivant :
Code :
|
Et, donc, ma question est de savoir d'où vient ce satané signe égal
Si quelqu'un peut m'aider, je lui en serai reconnaissant
merci d'avançe
Marsh Posté le 02-09-2007 à 15:49:12
ta fonction ne sert strictement à rien .
Tu as tout ce qui te faut avec les std::stringstream
sinon, 100€ que tu ne gére pas correctement ta mémoire et ton '\0' terminal.
Bordel, en plus bonjour M. JAVA qui fait du C++
return *(new string("0" ));
ca mérite le pal !
return string("0" ) ca suffit hein. Go Back to your Lessons boy
Marsh Posté le 02-09-2007 à 15:58:33
Joel F a écrit : ta fonction ne sert strictement à rien . |
Merci Dr House
C'est vrai : je viens de JAVA : j'en suis désolé pour les puristes mais
cela m'a beaucoup appris, surtout sur la POO. En conséquence, je demande humblement
votre indulgence (et non le pal !!)
Par contre, et là je suis sérieux, si tu as une bonne documentation sur
les bonnes pratiques en C++, je suis preneur
PS : J'espère que ta jambe ne te fait pas trop souffrir
Marsh Posté le 02-09-2007 à 18:08:07
casper78 a écrit : les bonnes pratiques en C++, je suis preneur |
* arrêter d'enculer les mouches
* utiliser std::string
Ah oui, j'oubliais : apprendre le C++
Marsh Posté le 02-09-2007 à 18:20:20
casper78 a écrit : |
C'ets comme les gens qui sortent de PHP, ils font des tableaux avec des trucs genre [iidentifiant_i[/i].
Les mecs de JAVA fotn des new partout
casper78 a écrit : |
Le cours qui a fait de moi l'Homme que je susi : http://www.bruno-garcia.net/www/Cours/
Plus de bon cours (et pas le site de l'infame zero) : http://cpp.developpez.com/cours/cppavance/
Thinkign In C++ : http://bruce-eckel.developpez.com/livres/cpp/ticpp/
La STL (sans qui il ne faut jamais sortir sans ) : http://cpp.developpez.com/cours/stl/
casper78 a écrit : |
Ca ira
Marsh Posté le 02-09-2007 à 18:27:07
Joel F a écrit : |
Joel F a écrit : |
Joel F a écrit : |
Cher Joel F
Merci pour ton aide et effectivement c'était une mauvaise gestion
de la mémoire.
Donc, je vais aller potasser ces précieux documents.
Je profite, du temps de parole qu'il m'est donné, pour rassurer
Taz et KangOl : je promets de ne plus faire subir aux mouches, mes
appetits sexuels dépravés
Marsh Posté le 20-09-2007 à 14:05:46
Joel F a écrit : ta fonction ne sert strictement à rien . |
return string("0" ) -> ca aussi ca merite le pal !!! ;-)
Ta variable string("0" ) a un scope limite a celui de la fonction . Aussi des que tu fais le return, elle n'existe plus .
Ce code risque de marcher tant que tu ne fais pas de choses trop compliquees, mais essaie de faire du multithread et je te garantis que ta fonction ne retournera pas la string "0".
Dáilleurs avec Visual C++, tu vas avoir un warning du style : returning reference to local variable or temporary .
Marsh Posté le 20-09-2007 à 15:41:28
dinaiz a écrit : |
Quand on ne sait pas , on se tait.
Code :
|
cree un objet temporaire dans le scope de la fonction. En sortie, il est copié sur la pile (par appel du copy constructor)
et ensuite atterri dans s.
C != C++ hein
Apres ofc, si tu fait ca avec des classes sans copy semantic, faut pas venir chialer.
(et je ne ferais pas d'attaque basse sur le fait que ,lol, tu utilise VC comme référence )
Marsh Posté le 20-09-2007 à 15:51:43
Nan, mais VC (au moins le 2005) n'a pas ce comportement hein
(au moins il faudrait tester et préciser l'environnement utiliser avant de sortir ça)
Marsh Posté le 20-09-2007 à 16:33:42
ReplyMarsh Posté le 20-09-2007 à 16:36:56
ReplyMarsh Posté le 20-09-2007 à 16:37:36
Tu le règles comment pour l'avoir ce warning dans ce cas? (J'ai justement en /W4, mais nada )
Marsh Posté le 20-09-2007 à 16:43:37
Joel F a écrit : |
bah non, je répondais à l'histoire du "c'est pas comme ça dans VS"
Marsh Posté le 20-09-2007 à 16:44:14
IrmatDen a écrit : Tu le règles comment pour l'avoir ce warning dans ce cas? (J'ai justement en /W4, mais nada ) |
Peut-être le fait qu'il n'y ait pas de warning signifie en fait qu'il n'y a pas de warning.
Marsh Posté le 20-09-2007 à 16:55:45
Euh, dans ce cas, y'a quiproquo, je répondais à Dinaiz et Joel F qui glisse une attaque discrète sur VC
Edit: pour clarifier complètement, y'a pas de warning avec VS2005 donc.
Marsh Posté le 16-11-2007 à 19:52:49
Taz a écrit : * arrêter d'enculer les mouches |
C'est quoi l'idée ? Tu crois qu'en mettant std::string(100) il va te sortir une string avec "100" ?
T'es un comique.
Pauvre garçon.
Et puis, pour peu qu'elle soient un peu velues, c'est du bonheur!
Marsh Posté le 16-11-2007 à 20:55:39
toi, tu ferais mieux d'avaler ta langue et d'apprendre à lire
oh et en même temps, regarder les dates de topics c'est pas mal
Marsh Posté le 16-11-2007 à 20:55:44
Non, pas string(100) bien sûr... Tu utilises un istringstream en le liant à un string et tu as une méthode plus simple, plus lisible et plus robuste que son while, son switch etc...
Tu fais pas pareil quand même?
Marsh Posté le 16-04-2004 à 18:41:40
Salut!
Quelqu'un saurait comment convertir un int en string avec ANSI C++ vu que la fonction itoa() n'existe pas en ANSI?
En fait je voudrais générer n noms de variable du genre objet_i en faisant une boucle sur i
Merci!