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

SL & STL C++ Discussion :

Tableau de string


Sujet :

SL & STL C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2008
    Messages : 25
    Par défaut Tableau de string
    Hello,

    Il faudrait que je remplisse un tableau de string dans un struct.
    Voilà le struct:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    struct buttonObject
    {
    	float width;
    	float height;
    	float posX;
    	float posY;
    	bool hit;
    	float color[4];
    	string button;
    	string titles[30];
    };
    Le prototype de la fonction qui permet de l'initialiser:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    void initButtonObject(int num, string buttonType, const string &title);
    Et la fonction:
    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
     
    void Button::initButtonObject(int num, string buttonType, const string &title)
    {
    	button[num].color[0] = 1.0f;
    	button[num].color[1] = 1.0f;
    	button[num].color[2] = 1.0f;
    	button[num].color[3] = 1.0f;
    	button[num].width = 80.0f;
    	button[num].height = 40.0f;
    	button[num].posX = 0.0f;
    	button[num].posY = 0.0f;
    	button[num].hit = false;
    	button[num].button = buttonType;
    	button[num].titles[num] = title;
    }
    Je l'appelle comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    simpleBtn.initButtonObject(loop, "SIMPLE", menuTitles[loop]);
    menuTitles est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    static string menuTitles[MENU];
    et il y a actuellement 3 string dedans. Quand je fais débug, il y a que le premier string qui passe dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    button[num].titles[num] = title;
    Est-ce que vous auriez une idée pourquoi?

    Merci!

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

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 293
    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 293
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    les tableaux "c-style" ne se copient pas avec l'opérateur d'affectation (=), mais il faut faire une boucle et copier chaque élément.

    Il est cependant conseillé de préférer, surtout pour ce type d'utilisation, un conteneur de la STL (typiquement un vector).

  3. #3
    Membre averti
    Inscrit en
    Septembre 2008
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 21
    Par défaut
    Bonjour,

    Tout d'abord, je ne vois l'utilité d'avoir une table de string 'titles[30]' dans la structure buttonObject puisque cette même structure est mise dans un tableau dans la classe Button.

    Ensuite, tu utilises l'index 'num' pour accéder à un bouttonObject (button[num]) et également pour indéxer le tableau de string 'title'. Ce me semble redondant.

    Enfin, ce que tu constates en debug, c'est que seule le premier string passe, ça ma parais normal car dans la deuxième itération, le titre sera inscrit dans la deuxième string du tableau title.

    Pour r0d : les tableaux 'c-style' se copient parfaitement avec l'opérateur '=' par défaut. Ceci est valide même pour des tableaux d'objet de type string par exemple, les constructeurs de copies adéquate seront appelé.

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

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 293
    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 293
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par SoniX Voir le message
    les tableaux 'c-style' se copient parfaitement avec l'opérateur '=' par défaut. Ceci est valide même pour des tableaux d'objet de type string par exemple, les constructeurs de copies adéquate seront appelé.
    Merci beaucoup pour la correction. Et pour votre contribution en entier d'ailleurs.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2008
    Messages : 25
    Par défaut
    Citation Envoyé par SoniX Voir le message
    Bonjour,

    Tout d'abord, je ne vois l'utilité d'avoir une table de string 'titles[30]' dans la structure buttonObject puisque cette même structure est mise dans un tableau dans la classe Button.

    Ensuite, tu utilises l'index 'num' pour accéder à un bouttonObject (button[num]) et également pour indéxer le tableau de string 'title'. Ce me semble redondant.
    OUI! Effectivement j'ai pas remarqué mon erreur! Merci beaucoup pour la correction! Maintenant j'ai le fonctionnement que je souhaite avoir.

    Merci r0d et SoniX!

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

Discussions similaires

  1. Tester si une String fait partie d'un tableau de String
    Par laloi dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 23/04/2005, 16h47
  2. [J2SE] tableau de string
    Par Jules82 dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 17/03/2005, 14h35
  3. Ranger un tableau de String dans ma HashMap
    Par jeyce dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 26/08/2004, 22h41
  4. [Collections] Conversion de Vector en tableau de String
    Par java_math dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 06/06/2004, 12h55
  5. [Collections] Tableau de String
    Par gexti dans le forum Collection et Stream
    Réponses: 11
    Dernier message: 02/06/2004, 15h42

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