Inicio > C y C++ > estrujones > Copiar una palabra de una array

Copiar una palabra de una array

Experto:
Usuario:
Fecha: 07/07/2008
Valoración: (5,00 sobre 5) Categoría: C y C++
03/07/2008
axjok, usuario preguntando en C y C++
Usuario
Hola
Como puedo copiar de un arreglo cierta palabra y dejarla e otro arreglo o variable:
ejemplo: Arreglo  "Hola como estan"
Necesitaria copiar la 3ra palabra "estan" y dejarla en una arreglo o variable.

Gracias.....saludos....
03/07/2008
axjok, experto respondiendo en C y C++
Experto
Lo unico que se me ocurre es ir leyendo el primer array hasta llegar a un caracter (caracter 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;
04/07/2008
axjok, usuario preguntando en C y C++
Usuario
Muchas gracias, pero tengo otro problema, solo quiero que me muestre la palabra "estan", y copiarla a otro array o variable¿como lo hago?
Lo otro, al imprimir strtok me trae esto:
como
estan

Alguna solucion? 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");
}
07/07/2008
axjok, experto respondiendo en C y C++
Experto
Lo unico 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);
07/07/2008
axjok, usuario preguntando en C y C++
Usuario
Hola,
Aqui esta funcionando perfecto......

Gracias por todo...

Saludo......

#include
#include
#include
char cadena[] = "Hola como estan";
char *ptrtoken; // crea un apuntador a char
char *aux;
main()
{
ptrtoken = strtok( cadena, " " ); // primer llamado
for(int i=0; ((i<2)&&(ptrtoken!=NULL)); i++)
ptrtoken = strtok( NULL," ");
aux=ptrtoken;
printf("%s",aux);
printf("\n");
system("PAUSE");
}
07/07/2008
axjok, usuario preguntando en C y C++
Usuario
Execelente................
Me encamino hacia lo que deseaba....
Gracias
Más opciones
Enlaces patrocinados