Convertir un int en chaine

alphaone Messages postés 134 Date d'inscription vendredi 2 mai 2003 Statut Membre Dernière intervention 14 novembre 2009 - 17 mai 2006 à 19:29
koysbow Messages postés 3 Date d'inscription mercredi 28 juin 2006 Statut Membre Dernière intervention 20 juin 2007 - 19 juin 2007 à 22:29
Voila je cherche à envoyer un int dans:
CreateWindowEx(WS_EX_CLIENTEDGE,"Edit", "",WS_CHILD | WS_VISIBLE,120, 2, 50, 20,hwnd, (HMENU)ID_EDIT1,hThisInstance, NULL);
A la place de "", donc j'ai penser une fucntion comme ça:
int_a_convertir(int_var)
donc ça donnerai:
CreateWindowEx(WS_EX_CLIENTEDGE,"Edit", int_a_convertir(int_var),WS_CHILD | WS_VISIBLE,120, 2, 50, 20,hwnd, (HMENU)ID_EDIT1,hThisInstance, NULL);

Comment faire? Existe t'il une fonction qui fait ça?

7 réponses

cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
17 mai 2006 à 19:37
Salut

ANSI :
#include <stdio.h>




char buf[32];
int n=10;

sprintf(buf, "%d", n);

ou ca (pas ANSI mais les compilos l'accepte pour la plupart)


<tt>

<tt>
int i=10;
char buffer [33];
itoa (i,buffer,10);


</tt>

</tt>
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
17 mai 2006 à 20:32
Utilise pas sprintf. C'est très lent. Utilise itoa. Si tu est sous VC++ 8.0 utilise _itoa pour éviter tout avertissement du compilateur.

___________________________________________
Les plus grands esprits trouvent toujours une solution
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
17 mai 2006 à 20:37
Ah et aussi comme dit laurent pour itoa, il faut un buffer. Alors fait comme suit:

int chiffre = 1251;
char buffer[256];
_itoa(chiffre, buffer, 10);

CreateWindowEx(WS_EX_CLIENTEDGE,"Edit", buffer,WS_CHILD | WS_VISIBLE,120, 2, 50, 20,hwnd,
(HMENU)ID_EDIT1,hThisInstance, NULL);

___________________________________________
Les plus grands esprits trouvent toujours une solution
0
alphaone Messages postés 134 Date d'inscription vendredi 2 mai 2003 Statut Membre Dernière intervention 14 novembre 2009
17 mai 2006 à 21:35
je voulais justement pas utiliser cette méthode car elle est trop lourde, tros de code,... donc je voulais faire une fonction comme javais dit, c'est possible à faire avec une macro? Car en php on peut faire ce genre de truc.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
17 mai 2006 à 22:34
Je crois pas que ce soit fesable en C++ sinon il existerais probablement déja une fonction dans ce genre.

___________________________________________
Les plus grands esprits trouvent toujours une solution
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
17 mai 2006 à 22:43
à vrai dire c'est impossible car si tu fais une fontion qui convertie une valeur int en char* et que tu revoie le pointeur, ce pointeur ne pointera sur rien car la variable sur laquelle il pointait dans la fonction a été supprimé sa fin. Donc, la variable doit être déclaré en dehors de la fonction.
_itoa est donc ta seul solution je crois bien et ce n'est pas si lourd que ça

___________________________________________
Les plus grands esprits trouvent toujours une solution
0
koysbow Messages postés 3 Date d'inscription mercredi 28 juin 2006 Statut Membre Dernière intervention 20 juin 2007
19 juin 2007 à 22:29
Salut tout l'monde.

Avez-vou essayé :


int votre_entier = 12345;
CreateWindow(EX_STYLE,"titre",(LPCSTR)&votre_entier,WS_CAPTION,......................

ou

CreateWindow(EX_STYLE,"titre",(LPCTSTR)&votre_entier,WS_CAPTION,......................

Mais normalement c'est la première solution qui marche.

Voila j'espere vous avoir aidé un peu.

Bonne journée !!!
0
Rejoignez-nous