C/Visual C - Problemas conrealloc()

 
Vista:

Problemas conrealloc()

Publicado por utikitak (10 intervenciones) el 22/07/2004 17:49:27
Hola, tengo un problemilla. Tengo que ir asignado direcciones de un fichero a un array de forma que si ya he insertado esa dirección no la vuelva a insertar n el array. Como tampoco se cuantas entradas distintas va atener el fichero, la asignación de memoria la tengo q hacer dinámica. Estoy utilizando realloc, pero creo que no lo entiendo bien pq no me sale. Os digo lo que estoy poniendo;
fgets(dir,20,origen);
direcciones=(char **)calloc(1,sizeof(char));
N=0;
tam=strlen(dir);
direcciones[N]=(char *)calloc(tam,sizeof(char));
i=0;
strcpy(direcciones[N],dir);
N++;

while (!feof(origen))
{
fgets(dir,20,origen);
encontrado=0;
i=0;
while((i<N)&&(encontrado==0))
{
if (strcmp(dir,direcciones[i])==0)
{
printf("Iguales");
encontrado=1;
}
i++;
}
if (encontrado==0)
{
direcciones=(char**) realloc((char**)direcciones,(N)*sizeof(char));
tam=strlen(dir);
direcciones[N]=(char *)calloc(tam,sizeof(char));
strcpy(direcciones[N],dir);
N++;
}

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder