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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.