[C++] Conversion int to char

Conversion int to char [C++] - Programmation

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)

Reply

Marsh Posté le 23-06-2001 à 12:50:50   

Reply

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.

Reply

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.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

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();


---------------
-----------------------
Reply

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();

Reply

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


---------------
-----------------------
Reply

Marsh Posté le 24-06-2001 à 04:04:41    

oui mais str().c_str(), c'est... euh... moche ! :p

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed