Buenas, estoy tratando de implementar mi propia función strtok y buscando por la
red he encontrado un método bastante curioso el cual utiliza el numero negativo
-1 como indice en un array de caracteres para asignarle el carácter nulo
En consecuencia extrañamente obtienes el primer token en el puntero llamado
token, cosa que no entiendo como sucede aquí el código:
char *mystrtok(char *s, const char *delim)
{
int c, sc = *delim;
char *token = s;
do{
c = *s++;
if (c == sc)
{
s[-1] = '\0';
return (token);
}
}while (*s);
return NULL;
}
Es la versión corta la modifique un poquito para exponer la parte que no entiendo