Help :Lire un fichier en C

Résolu
cs_nono1664 Messages postés 10 Date d'inscription lundi 24 octobre 2005 Statut Membre Dernière intervention 11 juin 2006 - 10 janv. 2006 à 21:32
cs_nono1664 Messages postés 10 Date d'inscription lundi 24 octobre 2005 Statut Membre Dernière intervention 11 juin 2006 - 11 janv. 2006 à 13:35
Bonjour, je suis actuellement étudiant en BTS IRIS 1er anné et j'ai un tp à réaliser qui à pour but de gerer une biblioteque
Je souhaiterai donc savoir comment , lire un fichier enregistré sur mon disque, ce fichier se présente de la facon suivante :

titre de l'ouvrage 1
auteur1
disponibilité
date
emprunteur
titre de l'ouvrage 2
auteur 2
etc...

Il y a comme ca 200 ouvrage répertorier. pour la gestion de cette bibliotheque, j'ai une structure:

struct book{
char titre[30];
char auteur[20];
int etat;
char date[10];
char emprunteur[20];
};
et je l'ai donc définie sur un tableau de 200 : struct book biblio[200];

je souhaiterai savoir comment pouvoir lire ligne par ligne se fichier, quel fonction utiliser, fread ou fscanf ou autre...
Merci d'avance pour les futurs réponse ...

3 réponses

tekbright717 Messages postés 9 Date d'inscription samedi 7 janvier 2006 Statut Membre Dernière intervention 5 juin 2006
10 janv. 2006 à 23:30
Pour ton problème il faut tout d'abord que tu définisse un fichier comme il sui :

FILE *file;



il faut ensuite que que tu l'ouvre avec la bonne attribution(r pour read, w pour écrire...)

file=fopen(filename,"r");



Une fois cela fait tu peut lire ligne par ligne avec la fonction fgets:

fgets(destination,taille de la destination,fichier source)

pour savoir comment il marche : http://www.lri.fr/~aze/page_c/aide_c/fgets.html



il faut apres que tu éxécute fgets en boucle.



Oublie pas de fermer le fichier a la fin avec fclose.
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
11 janv. 2006 à 01:01
Le format "une info - une ligne" t'est imposé ??? c'est une calamité en terme de performance et une vraie plaie si tu dois modifier un enregistrement.
Si est non alors écris des structures de taille fixe, tu pourras ainsi accéder en direct, lire et écrire aisément et surtout très rapidement.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
cs_nono1664 Messages postés 10 Date d'inscription lundi 24 octobre 2005 Statut Membre Dernière intervention 11 juin 2006
11 janv. 2006 à 13:35
merci de vos réponse,
BruNews , ce format n'est pas imposé j'essayerai ta méthode si je recontre des probleme !
merci
0
Rejoignez-nous