Tengo el siguiente código que consiste en eliminar un registro repetido, pero por más que lo intento no lo entiendo he buscado en manuales de C, pero no encuentro nada.
Código C:
Ver originalint prueba_duplicada(){ /*Devuelve 0 no duplicada y 1 duplicada*/
FILE *pf;
prueba_paciente p,paux;
long int pos, pos1;
int encontrado=0;
if((pf
=fopen("prueba_paciente","rb"))==NULL
){ printf("Error al abrir el fichero prueba_paciente.\n"); }
else{
fread(&p
,sizeof(p
),1,pf
); while(!feof(pf
)&&!encontrado
){ pos1=0;
while((pos1 < pos)&&!encontrado){
fread(&paux
,sizeof(paux
),1,pf
); if(strcmp(p.
prueba,paux.
prueba)==0){ encontrado=1;
}
}
fseek(pf
,pos
+sizeof(p
),SEEK_SET
); fread(&p
,sizeof(p
),1,pf
); }
return(encontrado);
}
¿Alguien puede explicarme detalladamente el código sino le es mucha molestia?Estaría muy agradecida. Gracias.