Dans cet exemple on considère que :
char *str est une chaine de caractères qui se finit par '\0' on passe le char * * split déja alloué, i.e. on a malloc() ou on passe une adresse de tableau la fonction retourne le nombre d'elements du char * *
int splitstr(char **split, char *str, char sep) { uint16_t i = 0; char *p = str; *split = str; while (*p && (*p != '\n') && (*p != '\r')) { if (*p == sep) { *p++ = 0; if ((*p != 0) && (*p != sep)) split[++i] = p; } p++; } return (++i); }