Parser une chaine, mettre les element dans un tab[][]
Bonjour, je chercher a parser une chaine de charactere pour la mettre dans un tableau a double entree. Avec mon code, j'ai un segfault dans la fonction appeleante. voi ic le code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| char **parse_str(char *str)
{
char **tab;
int i;
int j;
int k;
i = 0;
j = 0;
k = 0;
tab = malloc(sizeof(char**));
while (vision[i] != '\0')
{
tab[j] = malloc(strlen(str));
while (str[i] != ',')
{
if (str[i] != ' ')
{
tab[j][k] = str[i];
k++;
}
i++;
}
if (str[i] == ',')
i++;
tab[j][k+1] = '\0';
k = 0;
j++;
}
return (tab);
} |
Je pense que j'utilise mal le malloc...
En fait je veux que chaque element separer par une virgule, se mette dans le tableau avant de le renvoyer.