C/Visual C - Problemas con el strtok

 
Vista:

Problemas con el strtok

Publicado por Victor (1 intervención) el 31/01/2008 20:39:19
Buenas a todos,

Estoy creando un mini Google para una prácticas y tengo que lematizar las palabras de los documentos para ir sacando los pesos, etc. Bien mi primer problema es cuando quiero lematizar las palabras, utilizo strtok()

Aqui os dejo un pequeño ejemplo:
#include <stdio.h>
#include <string.h>
#include <conio.h>

int main()
{
char s1[] = "caresses";
char s2[] = "sses";
char *ptr;

printf( "s1=%s ", s1 );

ptr = strtok( s1, s2 ); // Primera llamada => Primer token
printf( "%s ", ptr );
while( (ptr = strtok( NULL, s2 )) != NULL ) // Posteriores llamadas
printf( "%s ", ptr );

getch();
return 0;
}

En el printf de ptr debería aparecer "care", pero por una extraña razón solo aparece "car" ¬¬. Alguien sabe el porque de este fallo?

Luego otra pregunta. Debo recorrer un archivo entero, como leo linea por linea o palabra por palabra¿? Creo que debo utilizar fgets() y luego strtok() para ir separando palabras

Saludos y gracias por adelantado
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 el strtok

Publicado por Tom (619 intervenciones) el 01/02/2008 10:26:41
La razón es que no te has leído con atención la doc de strtok (y, desdichadamente, no es extraña).

__Cualquier__ caracter de s2 hace de delimitador.

En mi opinión, leerás línea a línea y luego irás separando las palabras.
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