Funcion que devuelva una cadena

cynic
30 de Diciembre del 2005
Hola, como hago que una funcion devuelva una cadena?

Edgarin
30 de Diciembre del 2005
Para devolver un entero, haces int funcion() no es cierto? para devolver una cadena (en realidad un puntero a cadena) haces char* funcion(), pero es mejor que hagas una funcion void y pases como parametro la cadena destino, la modificas internamente en la funcion.
Por ejemplo:
void devuelveCadena(char cadena[])
{strcpy(cadena,"Devolucion");
}
main()
{char cad[100];
devuelveCadena(cad);
printf("%s",cad);
}

Si quieres con punteros (se cuidadoso) seria:
char* devuelveCadena()
{char auxiliar[50];
strcpy(auxiliar,"Devolucion");
return auxiliar;
}
main()
{
printf("%s",devuelveCadena());
}

Espero te sirva
Saludos
Edgarin