begin process at 2010 02 10 13:08:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Pb de converstion....


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Pb de converstion....

lundi 20 mars 2006 à 19:25:42 | Pb de converstion....

sran_isback


Salut!
Je voudrais convertir des int que je récup (500, 1500 etc...) en LPSTR, et itoa et sprintf me font planté le prg(j'utilise vs 2005)

comment puis-je faire?

voila un extrait de mon code
code?
         
            LPSTR pw1;
            LPSTR pw2;

            envois("m",IDT_TIMER1);
            envois("\n",IDT_TIMER1);
            envois(pw1,IDT_TIMER1);
            envois("\n",IDT_TIMER1);
            envois(pw2,IDT_TIMER1);
            envois("\n",IDT_TIMER1);
            KillTimer(hWnd,IDT_TIMER1);
            MessageBox(hWnd,"Envoi Réussi!","Info",MB_OK|MB_ICONINFORMATION);

/code

quelques précsion:

envois est une fonction:  envois(LPSTR,int)

Merci!
lundi 20 mars 2006 à 21:08:18 | Re : Pb de converstion....

Gendal67

Bonsoir,

Tu peux réaliser la convertion d'un int en string comme cela :

wsprintf(pw1, "%s", iVal); // iVal étant de type int

Bonne soirée

lundi 20 mars 2006 à 23:28:33 | Re : Pb de converstion....

SAKingdom

Membre Club
Comment ça sprintf et itoa font planter le programme. C'est pas normale ça. C'est à la compilation qu'il plante?

___________________________________________
Les plus grands esprits trouvent toujours une solution

mardi 21 mars 2006 à 13:42:00 | Re : Pb de converstion....

sran_isback

voila le code

            LPSTR pw1=NULL;
            LPSTR pw2=NULL;

            int iVal=500;
           
            itoa(iVal,pw1,10); ou wsprintf(pw1, "%s", iVal);
           
            envois("m",IDT_TIMER1);
            envois("\n",IDT_TIMER1);
            envois(pw1,IDT_TIMER1);
            envois("\n",IDT_TIMER1);
            envois(pw2,IDT_TIMER1);
            envois("\n",IDT_TIMER1);
            KillTimer(hWnd,IDT_TIMER1);
            MessageBox(hWnd,"Envoi Réussi!","Info",MB_OK|MB_ICONINFORMATION);

et l'erreur est une access violation. Bref j'ai mis le code pour que vous voyez si j'ai fais une conn.... une anerie, car en fait je suis un gros noob


Merci!
mardi 21 mars 2006 à 13:55:18 | Re : Pb de converstion....

buno

Si ton pointeur est NULL, c'est normal que itoa() te jette. Il faut allouer ta chaine avant.

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
mardi 21 mars 2006 à 14:06:30 | Re : Pb de converstion....

magic_Nono

Membre Club
voilà, il n'y a aucune allocation dans ces bouts de codes...

___________________________________________________________
Magicalement
Nono
mardi 21 mars 2006 à 15:56:17 | Re : Pb de converstion....

sran_isback

Et la?
            LPSTR pw1;
            LPSTR pw2;
            pw1 = "50"; // pw1 et pw2 sont ils initialisés?
            pw2= "50";

            int iVal=500;
           
            itoa(iVal,pw1,10);
           
            envois("m",IDT_TIMER1);
            envois("\n",IDT_TIMER1);
            envois("750",IDT_TIMER1);
            envois("\n",IDT_TIMER1);
            envois("750",IDT_TIMER1);
            envois("\n",IDT_TIMER1);
            KillTimer(hWnd,IDT_TIMER1);
            MessageBox(hWnd,"Envoi Réussi!","Info",MB_OK|MB_ICONINFORMATION);

ps : toujours la même erreur ...

Merci!
mardi 21 mars 2006 à 18:56:29 | Re : Pb de converstion....

sran_isback

j'ai réussi a faire marché _itoa.... mais ça me fais une autre erreur : stack around mot2 was corrupted...

En fait tout ce passe bien jusqu'à la fin... ou ça plante après la fermeture de la message box...

LPSTR  pw1;
            LPSTR  pw2;

            int iVal1=500;
            char mot1 = 5;

            int iVal2=1500;
            char mot2 = 5;
           
            _itoa(iVal1,&mot1,10);
            _itoa(iVal2,&mot2,10);

            pw1 = &mot1;
            pw2 = &mot2;

            envois("m",IDT_TIMER1);
            envois("\n",IDT_TIMER1);
            envois(pw1,IDT_TIMER1);
            envois("\n",IDT_TIMER1);
            envois(pw2,IDT_TIMER1);
            envois("\n",IDT_TIMER1);
            KillTimer(hWnd,IDT_TIMER1);
            MessageBox(hWnd,"Envoi Réussi!","Info",MB_OK|MB_ICONINFORMATION);

Merci!
mardi 21 mars 2006 à 20:05:45 | Re : Pb de converstion....

Gendal67

wsprintf(pw1, "%d", iVal); // %s était faux dans le code d'avant

mardi 21 mars 2006 à 21:25:25 | Re : Pb de converstion....

buno

Ton utilisation de itoa est fausse: elle attend un char * (une chaine de caractères) et non l'adresse d'un char. Voici un exemple:

char num1[10];
int val=1319;

itoa(num1,val,10);

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage

1 2

Cette discussion est classée dans : code, envois, timer1, lpstr, idt


Répondre à ce message

Sujets en rapport avec ce message

Help ! Timer qui ne ce déclanche pas ? [ par jbmartinez ] J'ai suivis toute les instructions que j'ai trouvé ici. J'ai regarder l'exemple dans dev c++ de winanim. Rien y fait ! Mon timer ne ce déclanche pas ! partage à distance [ par myocean ] quelqu'un sait-il se servir de NetShareAdd car j'ai tjs l'erreur 53 en code de retourma fct :mafctCreerPartage(LPSTR pPoste, LPSTR pCheminPartage, LPS Opérateur de combinaison dans switch... [ par Guidelor ] bonjourcomment faire dans une instruction switch pour voir si la variable testéest egale à 2 valeurs possibles ?genre :switch(int var){case 2 or écriture pointeur de struct [ par Vaughn018 ] Bonjour j'ai un oubli complet (trop de code tue le code!) sur la façon d'écrire des données lorsqu'il s'agit du cas suivant :typedef struct Point{ convertir une chaine de caracatères en hexadécimal [ par vinc524 ] salut all !voilà je voulais savoir s'il existe une fonction pour convertir une chaine de caractètes provenat du port série RS232 récupéré par la métho pb stupide : diviser [ par guifr ] Alors là, je sens que je vais craquer, je suis à deux doigts de commettre un ordicide ! sois mon pc est complètement stupide, ou alors c'est moi (ce q Analyse de code c [ par yoggi22 ] Bonjour je recherche un outil d'analyse de code c pour me permettre d'optimiser. Capable de voir ou le temps et perdu etc...Est ce que qlq connait que [LINUX/C/GTK]Au sujet des events, pour un demineur en gtk [ par pas2pseudo ] b'soir j'ai donc un chtit probleme j'explique quand je click (gauche ou droit) sur un bouton je veux recupurer dans ma fonction de callback la coordon PB Conversion de CString vers LPSTR [ par ben1964 ] j'ai une fonct. API Windows qui necessite un arg. de type LPSTR et la variable que j'ai est de type CString J'ai essayerça :LPSTR a;CString ma_variab PB Conversion de CString vers LPSTR [ par ben1964 ] j'ai une fonct. API Windows qui necessite un arg. de type LPSTR et la variable que j'ai est de type CString J'ai essayerça :LPSTR a;CString ma_variabl


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,030 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales