C/Visual C - dividir cadenas en C

 
Vista:
sin imagen de perfil

dividir cadenas en C

Publicado por sergio (1 intervención) el 13/12/2015 17:59:37
hola, cuando se lee una línea de texto de un archivo con fgets(buf, TAM, fp), coge toda la linea entera, por ejemplo
"Hoy es Domingo"
¿como se podría dividir la frase que se guarda en buf en 3 cadenas diferentes?, que quede cadena1 "Hoy", cadena2 "es" y cadena3 "Domingo"

sin saber el tamaño de cada cadena para poder dividir cualquier frase de 3 palabras sin importar el tamaño de la palabra.
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
sin imagen de perfil

dividir cadenas en C

Publicado por anonymous (12 intervenciones) el 14/12/2015 00:05:22
Bueno la función seria algo así

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//obtengo la línea usando fgets
len = strlen(linea);
buffer[len+1];
memset(buffer, 0, sizeof(buffer));
 
int i=0;
int indice=0;
for(i=0;i<len;i++)
{
    if(isspace(linea[i])
    {
        printf("%s",buffer);
        memset(buffer,0,sizeof(buffer));
        indice = 0;
     }
    else
     {
        buffer[indice++] = linea[i];
     }
}
.
Solo que en lugar del printf seria almacenar el resultado en sus respectivas variables (cadena1,cadena2 y cadena3)
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