estructuras a archivo en C
Hola, me gustaria saber si alguien puede ayudarme a
grabar estructuras a un archivo, para despues poder
sacar la informacion de una estructura al ser buscada por uno de sus campos.
Estoy usando una funcion llamada fwrite pero al leel
con fread, el puntero se posiciona en la primera estructura del archivo, de antemano gracias!!!
grabar estructuras a un archivo, para despues poder
sacar la informacion de una estructura al ser buscada por uno de sus campos.
Estoy usando una funcion llamada fwrite pero al leel
con fread, el puntero se posiciona en la primera estructura del archivo, de antemano gracias!!!
Para acceder a la estructura por uno de sus campos, tienes que leer el fichero desde el principio e ir buscandola. Si sabes la posición, puedes ir directamente a ella con fseek().
Para ficheros grandes y estructuras grandes puedes hacerte cosas similares a las que hacen las bases de datos. Por ejemplo, puedes guardar un fichero con las estructuras y otro fichero "indice" sólo con los campos y la posición que ocupa la estructura correspondiente en el fichero grande. Este fichero indice puede estar incluso ordenado por campos (orden alfabetico, de números o lo que sea).
Para acceder rapidamente, primero buscas el campo en el fichero indice y asi obtienes la posicion de la estructura en el fichero gordo. Luego, la funcion fseek() te lleva directamente a la posicion adecuada del fichero gordo y lees la estructura.
Se bueno.
Para ficheros grandes y estructuras grandes puedes hacerte cosas similares a las que hacen las bases de datos. Por ejemplo, puedes guardar un fichero con las estructuras y otro fichero "indice" sólo con los campos y la posición que ocupa la estructura correspondiente en el fichero grande. Este fichero indice puede estar incluso ordenado por campos (orden alfabetico, de números o lo que sea).
Para acceder rapidamente, primero buscas el campo en el fichero indice y asi obtienes la posicion de la estructura en el fichero gordo. Luego, la funcion fseek() te lleva directamente a la posicion adecuada del fichero gordo y lees la estructura.
Se bueno.
