Strtok

susana
25 de Octubre del 2005
Hola,

Necesito trocear una cadena por blancos, puntos o comas y me resulta muy dificil hacerlo con strtok.

Podeis ayudarme?

Muchas gracias.
Susana.

chuidiang
25 de Octubre del 2005
Hola:

Primero hazte una copia de la cadena original, puesto que strtok() la estropea. Para la copia puedes usar strdup() (creo que es de C/unix) o bien con strcpy() (esta es standard).

Luego solo tienes que hacer un bucle así

char *primerToken = strtok (copiaDeCadena," .,"); // El segundo parámetro son los separadores que quieras usar

char token = primerToken()
while (token != NULL)
{
token = strtok (NULL, " .,");
// aqui tratas token, lo guardas o lo que sea.
}

Se bueno.