Copiar una palabra de una array

Como puedo copiar de un arreglo cierta palabra y dejarla e otro arreglo o variable:
Ejemplo: Arreglo "Hola como están"
Necesitaría copiar la 3ra palabra "estan" y dejarla en una arreglo o variable.

1 respuesta

Respuesta
1
Lo único que se me ocurre es ir leyendo el primer array hasta llegar a un carácter (carácter 32).
Se hace bien con strtok(cadena, " ");
Y eso devuelve una cadena el punteroa una cadena de caracteres, hasta ese espacio en blanco.
Pa la segunda vez y las demás se pone strtok(NULL, " ");
esto ya devolvera cada ves una palabra nueva delntro del mismo array;
Muchas gracias, pero tengo otro problema, solo quiero que me muestre la palabra "estan", y copiarla a otro array o variable ¿cómo lo hago?
Lo otro, al imprimir strtok me trae esto:
Como
Están
¿Alguna solución? Saludos y gracias por la rapidez en tu respuesta.
#include <string.h>
#include <stdio.h>
#include <windows.h>
char cadena[] = "Hola como estan";
char *ptrtoken; // crea un apuntador a char
main()
{
ptrtoken = strtok( cadena, " " ); // primer llamado
while((ptrtoken = strtok( NULL, " " )) != NULL )
printf( "%s\n", ptrtoken );
system("PAUSE");
}
Lo único que puedes hacer es no hacer nada la primera vez, y la segunda, que es cunado sale "están", copiarla en la variable que quieras.
Main()
{
char *aux;
ptrtoken = strtok( cadena, " " ); // primer llamado
for(int i=0; ((i<2)&&(ptrtoken!=NULL)); i++)
ptrtoken = strtok( NULL,"");
strpcy(aux, ptrtoken);
printf("%s",aux);

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas