C/Visual C - problemas con strtok

 
Vista:

problemas con strtok

Publicado por Nydra (1 intervención) el 05/03/2005 19:53:50
Tengo un problema con el strtok, a ver si me puede ayudar alguien.
He usado esta función miles de veces y ahora no sé por qué, al poner:
token = strtok (linea, ";");
token se queda con la parte que se tiene que quedar, pero linea se modifica, quedándose igual que token.
Yo por más que le doy vueltas ya no sé que hacer, si alguien se le ocurre algo se lo agradezco.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:problemas con strtok

Publicado por chuidiang (677 intervenciones) el 05/03/2005 21:34:43
La función strtok() estropea la cadena, su funcionamiento es asi. En realidad va reemplazando los separadores (; en tu caso) por carateres \0 (fines de cadena). De todas formas, la función se acuerda de lo que ha hecho, de forma que es capaz de, en sucesivas llamadas, ir sacando los siguientes tokens.

Si no quieres estropear la cadena original, debes pasarle a strtok() una copia. Puedes hacerla con strdup() o con strcpy().

Se buena.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar