duda con punteros [Solucionado]
Publicado: 15 Abril, 2009 - 22:34 duda con punteros [Solucionado]
Hola a todos.
Tengo una duda existencial con los famosos punteros:
Una funcion x retorna un puntero, y lo recibes y lo almacenas en una variable.
int var1=*punt1;
esto me ha funcionado bien, recoge los valores que debe tener.
Sin embargo, en el caso opuesto en el cual a la variable le debes asignar el valor del puntero, no he podido.
ejemplo: tengo un puntero *punt5 y necesito que var2 almacene la cadena de caracteres contenida en *punt5.
los valores que retorna *punt5 son: "abcdef" o "ghijklm" cadena de 6 o 7 caracteres.
char var2;
he probado con strcpy y sprintf y no logro obtener la cadena.
strcpy(var2,*punt5);
sprintf(var2,*punt5);
Al parecer algo falta para poder asignar (rescatar) el valor del puntero.
Saludos y gracias.
- Inicie sesión o regístrese para enviar comentarios
- 436 lecturas


Es que en tu ejemplo var2 es un solo caracter, no una cadena.
puedes hacer esto:
1. Si quieres crear una cadena como un arreglo de carácteres creado en memoria en tiempo de compilación:
char var2[30]; /*Esto si quieres un arreglo de 30 caracteres sino pon el numero que mejor se acomode a tus necesidades*/
strcpy(var2, punt5) /*Si, en este caso punt5 no lleva la indireccion *, strcpy sabe lo que tiene que hacer ;) */
2. O en todo caso puedes hacer almacenamiento dinamico
char *var2;
var2 = malloc(30 * sizeof(char)); /* Igualmente si quieres una cadena de 30 caracteres, pero si eres atento puedes cambiar el 30 por una variable entera que puedes pedir en tiempo de ejecucion. De hecho puedes cambiar ese 30 por el tamaño de la cadena que quieras almacenar. Mas o menos: var2 = malloc(strlen(punt5) * sizeof(char) + 1); */
strcpy(var2, punt5);
Al menos en el ejemplo que das asi es como se puede resolver, pero creo podrías explicar mejor tu duda, porque realmente no logro entender exactamente cual es tu objetivo.
Espero estos ejemplos te sirvan de algo.
Have a lot of fun!
Muchas gracias.
Habia buscado una eternidad la funcion para poder asignar el tamaño de la cadena en forma dinamica.
Saludos