Bonjour ! est ce que vous pouvez m'aider a trouver un code equivalent a celui ci ?
Une procedure enreg qui permet d'enregistrer le contenu d'une liste simplement chainée dans un fichier txt
void enreg(liste L)
{
FILE* file;
file=fopen("fiche.txt","r+");
if(file==NULL)
file=fopen("fiche.txt","w+");
if(!L)
titre("Error 404 ===> Pas d'Info à enregistrer !\a");
else
titre("Enregistrement Terminée !");
waite(1);
fprintf(file,"%d\n",length(L));
while(L)
{
fprintf(file,"%d ",L->info.mat);
fprintf(file,"%s ",L->info.nom);
fprintf(file,"%s ",L->info.pren);
fprintf(file,"%s ",L->info.adr);
fprintf(file,"%d %d %d ",L->info.DE.j,L->info.DE.m,L->info.DE.a);
fprintf(file,"%ld ",L->info.tel);
fprintf(file,"%s ",L->info.ser);
fprintf(file,"%f\n",L->info.sb);
L=L->suiv;
}
fclose(file);
}
Et une fonction charg qui permet de charger la liste "L" avec les informations deja enregistrées dans le fichier txt
liste charg()
{
int nb;
liste L=NULL;
struct inf info;
FILE* file;
file=fopen("fiche.txt","r+");
if(file!=NULL)
{
fscanf(file,"%d\n",&nb);
if(nb)
{
for(i=1;i<=nb;i++)
{
fscanf(file,"%d ",&info.mat);
fscanf(file,"%s ",&info.nom);
fscanf(file,"%s ",&info.pren);
fscanf(file,"%s ",&info.adr);
fscanf(file,"%d %d %d ",&info.DE.j,&info.DE.m,&info.DE.a);
fscanf(file,"%ld ",&info.tel);
fscanf(file,"%s ",&info.ser);
fscanf(file,"%f\n",&info.sb);
L=ajout_q(L,info);
}
titre("Chargement Terminée !");waite(1);
}
else
{titre("Error 404 ===> Le Fichier est vide !\a");waite(1);}
}
else
{titre("Error 404 ===> Le Fichier est vide !\a");waite(1);}
fclose(file);
return(L);
}
Merci en avance ^_^
Afficher la suite