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.