Vecteur de pointeur de char

Signaler
Messages postés
21
Date d'inscription
dimanche 15 novembre 2009
Statut
Membre
Dernière intervention
1 mai 2010
-
Messages postés
21
Date d'inscription
dimanche 15 novembre 2009
Statut
Membre
Dernière intervention
1 mai 2010
-
Bonsoir à tous.

J'ai un petit soucis avec un vecteur de pointeur de char.
Voici premièrement sa déclaration
char *mots_cles[MAX_MOTS_CLES];


J'aimerais placer un mot dans chaque case de ce vecteur. Je procède de la manière suivante en utilisant une fonction pour inserer le mot:
void inserer(char *mot_a_inserer)

{
     static int i=0; // indice variant la case du vecteur

     *(mots_cles+i) = mot_a_inserer;

     i++; // case suivante pour prochain tour

     

}

Est-ce la bonne manière de procéder ?
J'ai testé en mettant un
cout << *(mots_cles[0];


dans la fonction et malheureusement il affiche à chaque appel un mot différent quand il arrive dans la fonction et non le même comme il devrait le faire!

Si quelqu'un peut m'apporter ses lumières, c'est urgent! Merci à lui d'avance

2 réponses

Messages postés
3834
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
20 octobre 2021
124
Si tu as du "cout", alors c'est que tu es en C++.
Donc ta méthode n'est pas la bonne.

char* => on oublie il y a std::string
tableau [] => on oublie il y a std::vector

Donc pour avoir une liste de mot-clé:

std::vector<std::string> > list;

list.push_back("mot clé 1");
list.push_back("mot clé 2");
list.push_back("mot clé 3");

for (int i = 0; i < list.size(); ++i)
  std::cout << list[i] << std::endl;

_____________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio
http://0217021.free.fr/portfolio]
Messages postés
21
Date d'inscription
dimanche 15 novembre 2009
Statut
Membre
Dernière intervention
1 mai 2010

Oui j'ai remarqué un peu trop tard que je me suis trompé de forum. Merci pour ton aide quand meme !