C : ayuda con lectura de estructuras de archivo binario

telecoast
19 de Mayo del 2008
Hola, antes que nada quisiera presentarme. Me llamo Antonio, soy un estudiante de Telecomunicaciones que está realizando su proyecto fin de carrera. Un saludo a todos.

Ahora viene mi cuestion. Pues resulta que tengo que trabajar con un fichero binario en el cual tengo que almacenar una serie de estructuras. El problema lo tengo en la lectura, ya que a priori no se que tipo de estructuras tengo que leer(digamos que en la escritura del fichero no siempre es igual, y dependiendo de diversas variables, puedo escribir estructuras distintas en numero y tipo). Lo que tenia pensado era, antes de mandar las estructuras, hacerme un vector donde indicara el tamaño de cada una y luego leerla en un vector de punteros a void.


void * estructuras;
int * tamEstruct;
...

// Leemos el vector q contiene el tamaño de cada una de las estuct. a leer
for(i=0;i<numBloques;i++)
fread ((tamEstruct+i), sizeof(int), 1, fich);
// Quinto parametro a leer = Estructuras
for(i=0;i<numBloques;i++)
fread ((estructuras+i), *(tamEstruct+i), 1, fich); <<<< error

>>>>> "ficheros.c", line 250: error: expression must be a pointer to a complete object type

No se si me habre explicado bien, pero espero que me pregunteis si no queda claro y yo poco a poco intente explicarlo mejor, y haber si puedo resolver este problema. Os estare eternamente agradecido por vuestra ayuda.