Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/04/2012, 11:39
DickGumshoe
 
Fecha de Ingreso: enero-2012
Mensajes: 68
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Problema al inicializar cadenas con punteros

Siento el doble post.

He intentado esto:

Código C:
Ver original
  1. char* inicializarCadenas(char *cad)
  2. {
  3.      char c;
  4.      int j=0;
  5.      
  6.      cad = (char*)malloc(sizeof(char));
  7.      
  8.      while((c = getchar()) != '\n')
  9.      {
  10.         cad[j] = c;
  11.         j++;
  12.         cad = (char*)realloc(cad, (j+1) * sizeof(char));
  13.      }
  14.        
  15.      cad[j] = '\0';
  16.      
  17.      return cad;
  18. }
  19. int main()
  20. {
  21.     char *cadena1, *cadena2;
  22.     int n,i;
  23.    
  24.     cadena1 = inicializarCadenas(cadena1);
  25.     puts(cadena1);
  26.    
  27.    
  28.    
  29.     system("pause");
  30.     return 0;
  31. }

Y ahora sí sale.

¿Por qué es necesario devolver la cadena? Creía que si no devolvía nada (void) me hacía los cambios de todos los parámetros automáticamente...

Gracias.