Fichier

Fermé
kamichako Messages postés 1 Date d'inscription vendredi 18 avril 2014 Statut Membre Dernière intervention 18 avril 2014 - 18 avril 2014 à 21:55
je veux savoir si je peux écrire plusieurs listes, chaque liste a 50 maillon dans un fichier
la structure de ma liste:
typedef struct cellule{
int elem;
struct cellule *suivant;
}cellule;
typedef cellule *liste;
j'ai fait des procédures pour la manipulation des liste:

liste init_liste(void)
{
return NULL;
}
void ajout_debut(int e,liste *l)
{
cellule *c;
c=(cellule*)malloc(sizeof(cellule));
c->elem=e;
c->suivant=*l;
*l=c;

}
void affiche_liste(liste*l)
{
cellule *p;
p=l;
while(p!=NULL){
printf("%d ",p->elem);
p=p->suivant;
}
}

void ajout_fin(int e,liste *l)
{
if(*l==NULL)
{
cellule *c;
c=(cellule*)malloc(sizeof(cellule));
c->elem=e;
c->suivant=*l;
*l=c;
return;
}
else{
cellule *c;
c=(cellule*)malloc(sizeof(cellule));
c->elem=e;
c->suivant=NULL;
cellule *p=*l;
while(p->suivant!=NULL)
{
p=p->suivant;
}
p->suivant=c;
}
}
void supp_debut(liste *l)
{
cellule *p=*l;
if ((*l=NULL))
{
printf("la liste est vide supp impossible");
return;
}
else{
*l=p->suivant;
free(p);
}
}
et j'ai fait une procedure pour écrire ces listes dans le fichier:

void ecrirefichier(liste *l){
cellule *f;
f=l;
FILE *fichier = NULL;
fichier = fopen("B", "w");
if (fichier != NULL)

{
while(f!=NULL){
fprintf(fichier,"%d ",f->elem);
f=f->suivant;
}

fclose(fichier);

}
else
{

printf("Impossible d'ouvrir le fichier test.txt");

}
}
mais cette procédure ne permet pas d'écrire chaque liste a part ,
et aussi après l'écriture des listes comment je peut les lire chacune a part?????