C++ Conversion d'un int en const char*

jderf Messages postés 189 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 2 octobre 2014 - 11 juin 2009 à 12:20
jderf Messages postés 189 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 2 octobre 2014 - 11 juin 2009 à 14:33
Bonjour,

Je récupere d'une boîte de dialogue l'index du choix fait.
Je souhaite afficher cette valeur dans un message box. Voici mon code

Uint Choix
Choix = SendDlgItemMessage(hDlg, ID_CB1, CB_GETCURSEL, 0, 0);
MessageBox(NULL, (const char*) Choix, "ComboBox : choix", MB_OK | MB_ICONINFORMATION);

A la compilation pas de problème mais cela plante à l'éxecution.

Merci de votre aide.

3 réponses

fregolo52 Messages postés 1115 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 3
11 juin 2009 à 12:51
là tu fais en cast, c a d tu changes le type du  pointeur. En aucun cas, tu convertis ton Uint en chaine.
prends itoa ou  ca.
0
jderf Messages postés 189 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 2 octobre 2014 1
11 juin 2009 à 14:28
Ok,visiblement en C++ c'est plus propre d'utiliser les sstream ?
ostringstream oss;
oss << SendDlgItemMessage(hDlg, ID_CB1, CB_GETCURSEL, 0, 0);

// Ci dessous erreur à la compil
MessageBox(NULL, oss.str(), "ComboBox : choix", MB_OK | MB_ICONINFORMATION);
// et comme ceci aussi ???
MessageBox(NULL, oss.str().c_str(), "ComboBox : choix", MB_OK | MB_ICONINFORMATION);

Comment faire ?
0
jderf Messages postés 189 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 2 octobre 2014 1
11 juin 2009 à 14:33
Oups, j'ai compris merci

MessageBox(NULL, (const char*)oss.str().c_str(), "ComboBox : choix", MB_OK | MB_ICONINFORMATION);
0