SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: PeterM en Viernes 13 de Enero de 2006, 20:01

Título: Devolver Una Cadena De Caracteres
Publicado por: PeterM en Viernes 13 de Enero de 2006, 20:01
Quiero devolver una cadena de caracteres de la función separar();

Creo recordar que la cadena de caracteres es especial y NO puede ser devuelta con un return(); -> Por ejemplo :      char[100] separar();

Sin embargo creo que tampoco se puede colocar un & como si fuese un simple entero-> Por ejemplo :              void separar(char &mensaje[100]);

¿Podeis sacarme de la duda y decirme como se devuelve una cadena de caracteres? Muchas Gracias.
Título: Re: Devolver Una Cadena De Caracteres
Publicado por: shakka en Viernes 13 de Enero de 2006, 21:01
y porque no lo parametrizas con un puntero a cadena?

Código: Text
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void devolder(char *);
  5.  
  6. int main(int argc,char **argv)
  7. {
  8. char szCadena[7];
  9.  
  10.   devolder(szCadena);
  11.   printf("%s\n",szCadena);  
  12.  
  13. return 0;
  14. }
  15.  
  16. void devolder(char *pszCadena)
  17. { //solo un ejemplo :D
  18.   pszCadena[0]='S';
  19.   pszCadena[1]='T';
  20.   pszCadena[2]='R';
  21.   pszCadena[3]='I';    
  22.   pszCadena[4]='N';
  23.   pszCadena[5]='G';
  24.   pszCadena[6]='\0';    
  25. }
  26.  
Título: Re: Devolver Una Cadena De Caracteres
Publicado por: PeterM en Sábado 14 de Enero de 2006, 13:33
Lo he provado pero solo me funciona a veces. ¿No hay otra forma? :comp: