Ver Mensaje Individual
  #5 (permalink)  
Antiguo 04/10/2015, 14:03
sebasOwens
 
Fecha de Ingreso: octubre-2015
Ubicación: asfsfasfa
Mensajes: 4
Antigüedad: 8 años, 6 meses
Puntos: 0
Respuesta: Concatener cadenas de punteros en c

Cita:
Iniciado por aguml Ver Mensaje
Ya vi cual es tu fallo. El fallo es que al usar strcat con los arrais pisas otras cadenas. Tienes que usar un buffer grande que no se desborde:
Código C:
Ver original
  1. char oracion[200]={0};
  2. strcat(oracion, articulo[x]);
  3. strcat(oracion, sustantivo[i]);
  4. strcat(oracion, verbo[z]);
  5. strcat(oracion, adjetivo[n]);

Se puede ir reservando memoria dinámicamente con malloc y realloc pero no se si ya viste esos temas por eso puse un valor fijo para el bufffer.
Gracias por tu ayuda, al fin pude hacerlo. Pero ahora no se como convertir la primera letra de cada oracion a mayúsculas, la funcion toupper no me sirve.

Lo hago así:
strcat(oracion,articulo[rand () % (4-0+1)+0]);
strcat(oracion," ");
strcat(oracion, sustantivo[rand () % (4-0+1)+0]);
strcat(oracion," ");
strcat(oracion, verbo[rand () % (4-0+1)+0]);
strcat(oracion," ");
strcat(oracion, preposicion[rand () % (4-0+1)+0]);
strcat(oracion," ");
strcat(oracion, articulo[rand () % (4-0+1)+0]);
strcat(oracion," ");
strcat(oracion, sustantivo[rand () % (4-0+1)+0]);
strcat(oracion,".");
cout<<oracion<<endl;

Última edición por sebasOwens; 04/10/2015 a las 14:12