oui mais str().c_str(), c'est... euh... moche ! :p
janoscoder
en règle générale, il vaut mieux utiliser stringstream que strstream, car strstream, c'est des char* partout, et si tu vas voir les fonctions lock et unlock, les larmes vont perler sur tes yeux
tgrx
ou plus simple (pour la syntaxe)
#include <strstream>
using namespace std; // pour visual
int nombre=4;
ostrstream oss;
oss << nombre;
ta chaine c'est
oss.str();
janoscoder
eg:
#include <stringstream>
using namespace std;
int nombre=3;
stringstream sst;
sst<<nombre;
ta chaine c est
sst.str().c_str();
antp
si tu as des problèmes genre écrasement de zones mémoires etc... Win98 et Win2000 ne réagissent pas pareil.
Peut-être que tu utilises mal itoa (sans vouloir te vexer bien sûr).
Sinon c'est vrai que sprintf et les << sont peut-être plus simples.
verdoux
En c++ on utiliserait plutôt un objet stringstream et l'opérateur <<
En c, on utiliserait la fonction sprintf.
bkadoum
Dans une application DirectX, je cherche à afficher un nombre placé en mémoire dans une surface. Pour cela j'utilise des fontions qui permettent uniquement d'afficher une chaîne de caractère. Donc j'ai dût utiliser la fonction itoa pour convertir le nombre en chaîne de caractère.
Je teste mon programme sur 2 machines et ca marche seulement sur 1 seule! D'où le problème peut venir sachant que sur les 2 machines j'utilise Visual C++, la machine qui marche à Win98 et l'autre Win2000, quand au matériel, celle qui marche c'est une vieille croute :) et l'autre à du matos récent (voir profil)