Fichiers en C - enregistrements à taille variable

omarino_007 Messages postés 24 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 27 décembre 2010 - 23 déc. 2009 à 10:56
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 23 déc. 2009 à 12:58
Bonjour, j'ai un projet en C de la gestion d'une bibliothèque.
On enregistre un auteur (j ai choisi de les manipuler avec une liste chainée dans un fichier binaire),
On enregistre également les livres d'un auteur ( pareil que les auteur, avec une petite composante en plus pour référer à l'auteur), (jusque la ca va, j'ai réussi à m'en sortir avec possibilité de consulter tous les livres d'un auteur ...)
C'est avec cette dernière donnée qu'il y a probleme :
Enregistrement des résumés tel que :
-Un résumé peut etre modifié à n'importe quel moment en illimité.
-La longueur d'un résumé est variable.

J'ai pensé procéder par fichier textuel en placant des "étiquettes" me servant de repère pour les résumés mais, un problème se pose lors de la suppression ou de la modification, c'est qu'il y aura des vides dans le fichier, en plus de la vitesse, le parcours d'un fichier textuel :s :s .

Voila je vous remercie d'avance pour vos propositions, vos idées quelle qu'elles soient, elles sont les bienvenues, aucune n'est inutile au contraire l'une peut en inspirer une autre ...

1 réponse

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
23 déc. 2009 à 12:58
Base de données, c'est full mode binaire si tu veux que ça tourne vite.

typedef struct _DEFRESUM {
DWORD idLivre;
DWORD len;
} DEFRESUM;

len dira nbr octets du résumé, pas de 0 final c'est pas du texte au sens chaine du C.

Dans le fichier pour les résummés on aura donc:
DEFRESUM
je suis le résumé di livrexxxx
DEFRESUM
je suis le résumé di livrexxxx
DEFRESUM
je suis le résumé di livrexxxx
etc....

Ainsi no prob pour retrouver très rapidement, supprimer idem.

ciao...
BruNews, MVP VC++
0
Rejoignez-nous