salut
j'ai eu un tp pareil que le tiens
je te conseil fscanf
sa marche bien
voici un bout de code que tu peux exploiter
//fonction qui ajout un elment ici coureur
void ajouter_coureur(Liste_coureur *LC,coureur *c)
{
coureur *parcour;//variable pour parcourir la liste chain‚e
parcour=LC->tete;
c->suivant=NULL;
while(parcour->suivant !=NULL) parcour=parcour->suivant;
parcour->suivant=c;
}
//fonction pour lister
void Lister_coureur(Liste_coureur *LC)
{
// int n;
coureur *el=LC->tete;//variable qui va permetree de parcourir la liste chain‚e
//n=O;
while(el!=NULL)
{
printf("%d %s %s %s %s %d %d %d %d %d %d %d\n\n\n",el->dossard,el->nom,el->prenom,el->pays,el->cat,el->tempsdepart.heure,el->tempsdepart.minute,el->tempsdepart.seconde ,el->tempsarrive.heure,el->tempsarrive.minute,el->tempsarrive.seconde,el->tempsarrive.tmis);
el=el->suivant;
n++;// au passage on compte egalement le nombre d'element
}
printf("%d",n);
}
void Extract(Liste_coureur *LC)
{
FILE *F_IN,F_IN1;
coureur *p;
if((F_IN=fopen(ENTREE,"r"))==NULL)
{
fprintf(stderr,"Erreur,impossible de lire le fichier: %s",ENTREE);
return EXIT_FAILURE;
}
while(!feof(F_IN)){
p=creernouveaucoureur();
fscanf(F_IN,"%d%s%s%s%s%d%d%d%d%d%d",&p->dossard,p->nom,p->prenom,p->pays,p->cat,&p->tempsdepart.heure,&p->tempsdepart.minute,&p->tempsdepart.seconde,&p->tempsarrive.heure,&p->tempsarrive.minute,&p->tempsarrive.seconde);
inserercoureur(LC,p);//petite fonction qui fait une insertion en tete
}
Lister_coureur(LC);// pour afficher la liste chainée
fclose(F_IN);
}
courage
|