j'ai encore un peu de mal avec les pointeurs j'imagine que la valeur de retour du split n'est pas compatible avec ma declaration du tableau mais je n'en suis pas sur et je ne sais comment faire autrement
C'est plus fondamental que ça : tab est un tableau (de pointeur sur char) et on ne peut jamais écrire "tableau = quelque chose ;"
Il faut passer le tableau tab en argument de split() :
1 2 3 4 5 6 7 8 9 10 11 12 13
| void split(char *buf, char delim, char** list)
{
unsigned int idx = 0;
while (*buf)
{
....
}
list[idx] = NULL;
}
....
char *tab[MAXPARA];
split (buffer, ' ',tab); |
Remarque :
while (*buf == delim) *buf++ = 0;
Pourquoi modifier la chaine de départ ?
Partager