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
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


0