Bonjour,
Je dois faire un programme en C et je rencontre un problème avec les tableaux de chaînes de caractères.
Je vous ai collé une partie de mon programme ci-dessous :
Avec la fonction fscanf je veux copier un nom d'équipe dans la variable nom_equipe (ceci marche très bien).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 int nb_equipes, nb_etapes; char nom_equipe[20]; fscanf(flec, "%d%d", &nb_etapes, &nb_equipes); char * tab_equipes[nb_equipes]; for (i=0;i<nb_equipes;i++){ fscanf(flet,"%s",nom_equipe); tab_equipes[i] = nom_equipe; printf(" equipe %d : %s \n",i,tab_equipes[i]); }
Ensuite, je veux copier la valeur de cette variable dans le tableau tab_equipes. Le problème est que c'est l'adresse de la variable nom_equipe qui est copiée.
Après être repassé dans la boucle for plusieurs fois, les valeurs contenues dans tab_equipes sont toutes identiques (et égales à la dernière valeur prise par nom_equipe) alors qu'elles devraient être toutes différentes... Ceci est dû au fait que c'est l' adresse de nom_equipe qui a été copiée dans le tableau et pas sa valeur...
Comment je peux contourner ce problème ?
Merci de votre aide.
Partager