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

C++ Discussion :

int dans un char*


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    12
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 12
    Par d�faut int dans un char*
    bonjour,

    alors voici mon probleme:
    j utilise fltk pour cr�er une interface graphique, et j ai besoin de cr�er un menu dont le nombre de "choix" d�pend d un parametre donn� par l utilisateur.
    pour cr�er ce "menu" je fais une boucle sur i variant de 1 � n choisi par l utilisateur et � chaque it�ration je rajoute une ligne au menu.
    en fait j aimerais que le nom de la ligne ajout� comprenne i.
    c est � dire(si n=3):

    - choix 1
    - choix 2
    - choix 3

    or, le parametre que l on passe pour rajouter une ligne est un char* ou const char*.la boucle ressemble � �a:


    int i=0;
    const char *ch;
    al_ba->clear();
    while( i<n->value())
    {
    ch="choix ";
    al_ba->add(ch);
    i++;
    }

    et je voudrais donc que � chaque it�ration, ch soir �gal � "choix i"

    vous avez une id�e?

  2. #2
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 888
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 888
    Par d�faut
    Salut,

    tu peux utiliser sprintf il me semble.

    A+

  3. #3
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    En C++ ?
    Si tu as vraiment besoin d'un char*, tu peux �ventuellement rester sur sprintf().
    Si un const char* te suffit, utilise un std::ostringstream().
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    12
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 12
    Par d�faut
    oui c'est en C++.
    j ai fait �a et �a marche:

    int i=0;
    char ch[80];
    al_ba->clear();
    while( i<n->value())
    {
    sprintf(ch,"Rule number %d",i);
    al_ba->add(ch);
    i++;
    }

    merci!

  5. #5
    Membre �m�rite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    780
    D�tails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations forums :
    Inscription : Mai 2006
    Messages : 780
    Par d�faut
    la version C++ c'est:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
       #include <sstream>
     
           ...
     
        int i=0;
        al_ba->clear();
     
        while( i<n->value())
        {
            std::ostringstream ch;
            ch << i;
     
            al_ba->add( ch.str().c_str() );
            i++;
        }
    sinon soit conscient que c'est du C

    Et avec boost c'est plus sympa:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
        #include <boost/lexical_cast.hpp>
     
        while( i<n->value())
        {
             al_ba->add( boost::lexical_cast< std::string >( i ).c_str() );
        }

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    12
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 12
    Par d�faut
    ok merci beaucoup!
    j'ai juste rajout� "Rule number"..
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    int i=0;
        al_ba->clear();
    	while( i<n->value())
        {
            std::ostringstream ch;
            ch << "Rule number "<<i;
     
            al_ba->add( ch.str().c_str() );
            i++;
        }

Discussions similaires

  1. R�ponses: 19
    Dernier message: 30/05/2006, 18h43
  2. comment mettre des int dans une char??
    Par gronaze dans le forum C
    R�ponses: 5
    Dernier message: 21/04/2006, 17h02
  3. R�ponses: 6
    Dernier message: 28/10/2005, 12h11
  4. Insertion d'un char dans un char *
    Par bugmenot dans le forum C
    R�ponses: 2
    Dernier message: 22/10/2005, 15h17
  5. R�ponses: 6
    Dernier message: 06/10/2005, 11h30

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