Ver Mensaje Individual
  #3 (permalink)  
Antiguo 10/02/2014, 19:01
yoel_monsalve
 
Fecha de Ingreso: febrero-2014
Mensajes: 5
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: error usando cadenas

En efecto, suponiendo que el código de insertarSub sea correcto (no le he revisado a fondo), el problema es que la declaración
Código C++:
Ver original
  1. char micad1[] = "hola ";
informa al compilador que reserve en micad1 el espacio justo para la cadena "hola". Y por cierto que, si mi memoria no me falla, esta declaración implica además que la cadena declarada es tipo "const char *", es decir, una cadena constante cuyo contenido no puede ser cambiado (!!)

Entonces, ¿cómo vas a insertar una cadena dentro de micad1, si esto implica alterarla? No puedes.

Debes modificar la declaración de micad1, pudiendo quedar más o menos de este modo:

Código C++:
Ver original
  1. char micad1[100];       /* espacio suficiente */
  2.  
  3. strcpy(micad1, "hola");

ahora cad1 no será una cadena constante, y además contendrá el espacio que necesita para lo que quieres hacer. Pruébalo y comenta .....