SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: Claudisimo en Jueves 28 de Mayo de 2009, 17:18

Título: Retornar una cadena desde una funcion
Publicado por: Claudisimo en Jueves 28 de Mayo de 2009, 17:18
Holas, necesito enviar un char a una funcion, trabajarlo y retornarlo hacia la funcion principal. Sin embargo al hacerlo como si fuera cualquier otro tipo de dato me lanza un error diciendo que es imposible transformar de char*  a char. Creo que es porque no puede devolver un array completo, sino un simple puntero. No hay forma de retornar una cadena de caracteres completa?
Título: Re: Retornar una cadena desde una funcion
Publicado por: haidion en Jueves 28 de Mayo de 2009, 18:46
Hola,

En principio si haces:
void fun(char *cadena){
         //Aqui trabajas con la cadena
}

debería funcionar sin problemas.

El error que comentas acerca de char y char*, debes haber cometido un error en la declaración de las variables o en la declaración de los argumentos de la función, fijarse que siempre este declarada como char *.

Si lo que quieres es que la función retorne una cadena de caracteres

char *fun(char *cadena){
         //Aqui va el codigo
         return(cadena);
}

Tenes que fijarte que la cadena que devolves este definida fuera de la función para estar seguro que ser reservo espacio para almacenar la cadena.
Título: Re: Retornar una cadena desde una funcion
Publicado por: locazopro en Jueves 28 de Mayo de 2009, 23:10
además recuerda que los arrays son por lo demás simples punteros, algo disfrazados.
Título: Re: Retornar una cadena desde una funcion
Publicado por: Claudisimo en Viernes 29 de Mayo de 2009, 07:29
Muchas gracias, problema solucionado. Era justo lo que decía Haidion, pero gracias a ambos.

Saludos.