IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Conversion en int depuis un list control


Sujet :

MFC

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Par défaut Conversion en int depuis un list control
    Bonjour,

    j'ai un probleme de conversion d'une donnée située dans un list control (donc format CString), vers int..
    j'ai bien trouvé la fonction atoi() sur internet mais j'ai une erreur :/

    voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    string = Liste.GetItemText (ligne, colonne);
    num = atoi(string);
    j'obtient comme erreur :
    Erreur 1 error C2664: 'atoi' : impossible de convertir le paramètre 1 de 'CString' en 'const char *'
    Merci

  2. #2
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 290
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    c'est étrange, car le code que tu as donné fonctionne très bien. Peux-tu donner des précisions supplémentaires?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Par défaut
    ben je sais pas quoi rajouter de plus en fait
    parce que c'est vrai que je ne comprend pas quoi faire pour cette erreur..

    Erreur 1 error C2664: 'atoi' : impossible de convertir le paramètre 1 de 'CString' en 'const char *'
    string est un CString
    num est un int
    je suis en MFC


    que voudrais tu savoir d'autre ?

  4. #4
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 290
    Billets dans le blog
    2
    Par défaut
    * les déclarations de string et num
    * le code qui précède
    * les #includes du fichier en question
    * le type de projet
    * sous quel OS tu travailles
    * la version de visual (attention, si c'est visual2005, il met en unicode par défaut, c'est peut-être ça)

  5. #5
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    tu dois etre en Unicode...
    voir faq:
    http://c.developpez.com/faq/vc/?page...ConvertCString
    et wcstol pour l'unicode.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Par défaut
    ah oui en effet, je suis bien en unicode (VS 2005)

    avec mon code, qu'elle serait alors la solution ??

    de plus, comment faire pour ne plus etre en unicode ? que que celà change-t-il??

    en tout cas merci de votre aide

  7. #7
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    tu mets mBCS (multi octets) et tu utilises le post de la faq ou atoi .

  8. #8
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 290
    Billets dans le blog
    2
    Par défaut
    l'unicode est un protocole de gestion des chaines de caractère. Je n'en sait, hélas, pas plus.
    2 solutions:
    - Tu passes en multi-byte: il te suffit d'aller dans les options de compil->général->Character Set et de mettre "Use Multi-Byte Character Set"
    - Tu programme ton appli en unicode. Ici, je ne pourrais pas t'être utile, je ne l'ai jamais fais, mais déjà, Farscape t'a donné la fonction dont tu as besoin.

    Hope it helps.

    [edit]Grillé [/edit]

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Par défaut
    merci mais farscape, je ne vois pas d'information sur wcstol sur ta FAQ, ca vient de moi ou ca n'en parle pas ?
    j'ai regardé un peu sur le net et je ne trouve pas d'informations sur cette fonction :/

  10. #10
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    en fait c'est strtol qui devient wcstol pou l'unicode ...
    dans la faq il y a seulement strtol..

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Par défaut
    Désolé mais ma question va s'en doute te parêtre un peu naze mais bon, je ne sais pas quoi mettre en paramètre 2 et 3 comme je sais pas qu'elle allure aura le nombre à convertir

    string = "-10110134932This stopped it";
    l = strtol( string, &stopstring, 10 );

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Par défaut
    Pas de réponse ? :/

    Déjà il y a quelquechose que je ne comprend pas...
    pourquoi, dans la FAQ, la valeur extraite n'est pas bonne??

    string = -10110134932This stopped it
    strtol = -2147483647

  13. #13
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    parametre 2, tu mets NULL, et parametre 3, tu mets la base, ici 10

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 24
    Par défaut
    dac ca marche merci bien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MFC]List Control : problème d'affichage
    Par gege2061 dans le forum MFC
    Réponses: 5
    Dernier message: 25/07/2005, 13h40
  2. [Conversion]convertir int[] en bytes[]
    Par tony_big_guy dans le forum Langage
    Réponses: 5
    Dernier message: 02/05/2005, 15h47
  3. [C++] Conversion de int en char* ou SetDlgItemText()
    Par lastcheper dans le forum MFC
    Réponses: 3
    Dernier message: 11/04/2005, 17h46
  4. Trier un list control
    Par Delian dans le forum MFC
    Réponses: 2
    Dernier message: 06/10/2004, 17h44
  5. (MFC) Redimensionner une List Control auto / Boite Dlg
    Par Guybrush113 dans le forum MFC
    Réponses: 7
    Dernier message: 23/04/2004, 09h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo