Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/10/2014, 22:03
luvac
 
Fecha de Ingreso: febrero-2008
Mensajes: 8
Antigüedad: 16 años, 9 meses
Puntos: 0
realloc array 3 dimensiones char

Me pueden hechar una mano,tengo una funcion que tiene como parametro un arreglo de tipo char de 2 dimensiones y tengo un arreglo de 3 dimensiones donde meto esta informacion pero necesito redimensionarla en 1 cada vez que entra,vamos que la primera vez [5][1],la segunda vez es [5][2] y asi susesivamente tengo este codigo

Código:
if (record_count==0) //primero verificamos esta variable para saber si hay que inicializar el arreglo
    {
        arr_number=argc;
        Col_name=azColName;
        rows=(char *** )calloc(argc, sizeof(char ** )) ; //se inicializa el array dependiendo de la variable argc
        for(int i = 0 ; i < argc; i++ )
        {
            rows[i] = (char ** ) calloc(1,sizeof(char * )) ;
        }

    }
    else{ //si ya se inicializo entonces solo reasignamos memoria

        for(int i = 0 ; i < argc; i++ )
        {
            rows[i] = (char ** ) realloc(rows[i],(record_count+1) * sizeof(char * )) ;
        }
    }

 for(i=0;i<argc;i++)
 {
 for(j=record_count; j<(record_count+1) ; j++ )
 {
   s=argv[i];
   rows[i][j]=argv[i];
 }
 }
el problema es que si lo hace, pero copia 2 veces la misma información y después 3 y así sucesivamente,y lo que tenia anteriormente lo borra y se va duplicando,alguien me hecha una mano.