Conversion int to char [C++] - Programmation
Marsh Posté le 23-06-2001 à 13:06:18
En c++ on utiliserait plutôt un objet stringstream et l'opérateur <<
En c, on utiliserait la fonction sprintf.
Marsh Posté le 23-06-2001 à 17:55:08
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.
Marsh Posté le 24-06-2001 à 00:36:06
eg:
#include <stringstream>
using namespace std;
int nombre=3;
stringstream sst;
sst<<nombre;
ta chaine c est
sst.str().c_str();
Marsh Posté le 24-06-2001 à 03:40:02
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();
Marsh Posté le 24-06-2001 à 03:55:53
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
Marsh Posté le 23-06-2001 à 12:50:50
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)