RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Serv: irc.irc-land.org
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 CEdit conversion Cstring en int

Forum : LIBRAIRIE C++ - GTK
Sous Catégorie : GTK
Type du sujet : Sujet Normale
FAQ : FAQ LIBRAIRIE C++ - GTK

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGE : [1]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM LIBRAIRIE C++ - GTK

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
venomelektro
Nouveau membre
Inscrit : 02/04/2004
Messages : 3
Message
#1442
Posté le 02/04/04 à 13:27
Bonjour,

je debute en programmation MFC , je m'exerce en faisant un prog qui ajoute deux nombres entrés dans des zones de texte,

donc je crée mes zones en visuel , je crée des variables membres Cedit

et ensuite je recupère leur valeur comme ca :


CString sNum1; CString sNum2; CString sResultat; m_num1edit.GetWindowText(sNum1); m_num2edit.GetWindowText(sNum2);


comment convertir le contenu de sNum1 et sNum2 en int pour faire l'addition ?

merci d' avance.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

venomelektro
Nouveau membre
Inscrit : 02/04/2004
Messages : 3
Message
#1444
Posté le 02/04/04 à 13:57
genre pourquoi ce code marche pas ( je suis pas loin ..)

merci pour votre aide


void CMfc1Dlg::OnCalc()
{

CString sNum1;
CString sNum2;
CString sResultat;

m_num1edit.GetWindowText(sNum1);
m_num2edit.GetWindowText(sNum2);

int n1,n2;

sscanf((char*)&sNum1,"%d",&n1);
sscanf((char*)&sNum2,"%d",&n2);


sResultat.Format("%d",n1+n2);

m_Resultedit.SetWindowText(sResultat);


}

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

venomelektro
Nouveau membre
Inscrit : 02/04/2004
Messages : 3
Message
#1471
Posté le 03/04/04 à 11:42
Alors , pas d 'idée ??

Si quelqu'un pourrait au moins me donner un lien vers une page ou je peux trouver de l 'info la dessus ...

Merci

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

wizard
Nouveau membre
Inscrit : 05/04/2004
Messages : 8
Message
#1628
Posté le 05/04/04 à 10:49
Salut,

La partie de code fausse se trouve dans le sscanf.

sscanf((char*)&sNum1,"%d",&n1);

Lorsque tu fais ((char*)&sNum1, tu caste en char * un pointeur sur un objet CString et nom un pointeur sur la chaine elle-même.
L'objet CString encapsule un pointeur sur une chaine de caractère.
Si tu veux un pointeur récuperer celle-ci, il faut que tu fasses appel à la fonction [i]LPTSTR GetBuffer(int nMinBufLength)[/i] ou nMinBufferLenght est la taille minimum de la chaine à récupérer sans le caractère de fion c de chaine (\0).

Si tu veux que cela marche, voici ce qu'il faut faire :

sscanf(sNum1.GetBuffer(0),"%d",&n1);
sscanf(sNum2.GetBuffer(0),"%d",&n2);

Il faut ensuite que tu fasse un ReleaseBuffer(), cette fonction libère l'espace mémoire alloué pa GetBuffer(0).

sNum1.ReleaseBuffer();
sNum2.ReleaseBuffer();

A+

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

guest
Membre MP
Inscrit : 01/02/2004
Messages : 291
Message
#1644
Posté le 05/04/04 à 15:55
Salut,

j ai reussi a resoudre mon probleme en faisant

m_num1edit.GetWindowText(sNum1);

int num;

num = atoi(sNum1);

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM LIBRAIRIE C++ - GTK



    PAGE : [1]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.