Deja bonjour
Voila je vous expose mon problem cela peut sembler bete mais je voudrais remplir un char ** dans une structure, le problem c'est que je ne connais pas la taille que va faire mon tableau de char**. je m'exprime peut etre tres mal voila mon example
voila mes tableau dans mon .h
et je souhaiterais donc remplire tab_env et tab_play de cette facon.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 typedef struct s_mini { int size_tab; char **tab_env; char **tab_play; } t_mini;
Voila ma fonction de remplissage pour tab_env.
a savoir que size_tab est la taille de mon tableau qui n'est pas predefini mais peut varier en fonction de l'environement utiliser. je ne peut donc pas lui donner de valeur fix si non cela aurais etait plus simple pour ^^
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 int tab_env(char *str, t_mini *mini) { static int i = 0; char *tabenv[mini->size_tab]; mini->tab_env = malloc(sizeof(tabenv)); mini->tab_env[i] = str; i++; return (0); }
et le problem c'est que lorsque je le test de cette facon avec un putstr ca me donne les bonnes valeurs..
cela me donne exactement la meme chose que si j'afficher le str..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 int tab_env(char *str, t_mini *mini) { static int i = 0; char *tabenv[mini->size_tab]; mini->tab_env = malloc(sizeof(tabenv)); mini->tab_env[i] = str; /* test avec un putstr*/ my_putstr(mini->tab_env[i]); /* Fin du test*/ i++; return (0); }
hors si en dehors de ma fonction je rappel mini->tab_env[0], pour l'afficher cela segfault j'en conclus que cela ne remplis pas correctement mon tableau... j'ai pourtant chercher mais je vois pas d'autre solutions que de connaitre la taille en dur :/ hors cela est impossible ......
j'espere que je me suis exprimer asser clairement. je vous remerci par avance
Partager