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 :

Accès aux éléments de 2 tableaux de pointeurs de chaîne


Sujet :

C

  1. #1
    Membre du Club

    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 69
    Points : 67
    Points
    67
    Billets dans le blog
    1
    Par défaut Accès aux éléments de 2 tableaux de pointeurs de chaîne
    Bonjour,
    J'ai 2 tableaux de pointeurs de chaine de caractères:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    const u8 *tabCmd1[]  = { 
          "MSG1\r\n",        // 0
          "test ici 1\r\n",  // 1
          "alors 1\r\n"};    // 2
     
    const u8 *tabCmd2[]  = { 
          "0 MSG val 2\r\n", // 0
          "1test 2\r\n",     // 1
          "2 alors 2\r\n"};  // 2
    J'aimerais trouver une solution pour accéder a l’élément n suivant une config variable.
    exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    config = 1; //tableau 1
    if (config == 1)
        mytag = tabCmd1;
    else
        mytag = tabCmd2;
    printf(mytab[1][0]);   // lorsque je veux le 2eme element du tableau 1
     
     
    config = 2; //tableau 2
    if (config == 1)
        mytag = tabCmd1;
    else
        mytag = tabCmd2;
    printf(mytab[1][0]);   // lorsque je veux le 2eme element du tableau 2
    Le but est que le printf ne soit pas re-ecrit pour chaque config mais juste 1 fois en debut de fonction. (dans la réalité j'ai 20 tableaux avec chacun 30 chaines)
    Je ne sais pas comment déclarer mytab ni comment l'utiliser ... (tableau, struct de pointeurs ????)
    Est-ce que vous auriez un solution a suggérer?

    Merci
    Mich

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    C'est toujours moyen de se trimballer des variables ayant des noms name1, name2,...nameN. Mieux vaut faire un tableau de N éléments à la place.
    Ce qui pourrait donner dans ton cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    const u8 *tabCmd[][3]  = { 
        { "MSG1\r\n",         // 0
          "test ici 1\r\n",   // 1
          "alors 1\r\n"    }, // 2
     
        { "0 MSG val 2\r\n",  // 0
          "1test 2\r\n",      // 1
          "2 alors 2\r\n"  }  // 2     
    };
    Que tu utiliserais comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf(tabCmd[config-1][1]);
    Ou si tu tiens à les garder, faire un tableau pointant vers ces variables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    const u8 **mytag[] = {tabCmd1, tabCmd2};
    utilisé de la même façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf(mytag[config-1][1]);

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

Discussions similaires

  1. Accès aux éléments de différentes frames
    Par metalpetsFR dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 16/09/2009, 06h36
  2. Réponses: 6
    Dernier message: 12/09/2007, 15h58
  3. Accès aux éléments d'une structure
    Par licorne dans le forum Pascal
    Réponses: 1
    Dernier message: 15/02/2007, 17h44
  4. accès aux éléments d'une enum
    Par aymeric__ dans le forum C++
    Réponses: 6
    Dernier message: 17/08/2006, 21h17
  5. [Rico] Accès aux éléments de la page de manière bizarre
    Par dodik dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 22/02/2006, 17h35

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