Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/02/2014, 08:26
eke_ps
 
Fecha de Ingreso: septiembre-2010
Mensajes: 101
Antigüedad: 13 años, 7 meses
Puntos: 0
error usando cadenas

hola , el ejercicio que trato de hacer es simple
insertar una sub cadena en otra, a partir de una posicion dada

me funciona bien(compila todo), pero me salta un error de debug en una ventanita que dice omitir o continuar, se ve el resultado, el cual esta bien pero la ventanita me bajaria puntos si me pasaria en alguno de mis examenes

les dejo el codigo y abajo el error

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. void insertarSub(char cad1[], char cad2[], int pos);
  5. int main()
  6. {
  7.     char micad1[] = "hola ";
  8.     char micad2[] = "como";
  9.     insertarSub(micad1, micad2,2);
  10.     return 0;
  11. }
  12.  
  13. void insertarSub(char cad1[], char cad2[], int pos)
  14. {
  15.     int i = pos;
  16.     int j = 0;
  17.     int lar = strlen(cad2);
  18.     char aux[100];
  19.     char aux0[100];
  20.  
  21.     for (i = 0; i < pos; i++)
  22.     {
  23.         aux0[j] = cad1[i];
  24.         j++;
  25.     }
  26.     aux0[j] = '\0';
  27.     j = 0;
  28.     puts(aux0);
  29.  
  30.     for (i= pos; cad1[i]; i++)
  31.     {
  32.         aux[j] = cad1[i];
  33.         j++;
  34.     }
  35.     aux[j] = '\0';
  36.     strcat(aux0, cad2);
  37.     puts(aux0);
  38.     strcat(aux0, aux);
  39.     puts(aux0);
  40.  
  41.     strcpy(cad1, "");
  42.    
  43.     strcpy(cad1, aux0);
  44.     puts(cad1);
  45. }

run-time check failure#2 - stack around the variable 'micad1' was corrupted



si comento el ultimo strcat funciona bien, el tema es con micad1 :/