• Sábado 14 de Diciembre de 2024, 19:03

Autor Tema:  Retornar una cadena desde una funcion  (Leído 1501 veces)

Claudisimo

  • Nuevo Miembro
  • *
  • Mensajes: 23
    • Ver Perfil
Retornar una cadena desde una funcion
« en: Jueves 28 de Mayo de 2009, 17:18 »
0
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?

haidion

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Re: Retornar una cadena desde una funcion
« Respuesta #1 en: Jueves 28 de Mayo de 2009, 18:46 »
0
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.

locazopro

  • Miembro activo
  • **
  • Mensajes: 51
    • Ver Perfil
Re: Retornar una cadena desde una funcion
« Respuesta #2 en: Jueves 28 de Mayo de 2009, 23:10 »
0
además recuerda que los arrays son por lo demás simples punteros, algo disfrazados.

Claudisimo

  • Nuevo Miembro
  • *
  • Mensajes: 23
    • Ver Perfil
Re: Retornar una cadena desde una funcion
« Respuesta #3 en: Viernes 29 de Mayo de 2009, 07:29 »
0
Muchas gracias, problema solucionado. Era justo lo que decía Haidion, pero gracias a ambos.

Saludos.