Saisir le contenu d un fichier texte dans une liste chainee
yedez
Messages postés
80
Statut
Membre
-
fiddy Messages postés 11653 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11653 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
On souhaite charger le contenu d'un fichier texte dans une liste en double chainage (chainage avant et chainage arrière) et effectuer des traitements sur la liste.
La structure de la liste est la suivante :
Struct liste
{
DATA d ;
Struct liste *next ;
Struct liste *prev;
};
Typedef struct liste LISTE;
Le type DATA contient deux champs :
* une chaine de caractère qui contiendra le contenu d'une ligne du fichier texte.
* Le numéro de la ligne du fichier.
Struct data
{
char *s ;
int ligne;
} ;
Typedef struct data DATA ;
On vous demande d'écrire un programme qui permet de charger le contenu d'un fichier texte dans une liste en double chainage
voila mon code de cette fct void charger_liste(LISTE **first,FILE *f)
{
int l=0;
char k[100],code[20];LISTE *p;
f=fopen("f.txt","r+")
while (fgets(k,100,f))
{
sscanf(k,%(strlen(k))s,code);
p=(LISTE*) malloc (sizeof(LISTE));
(p->d).ligne=l++;
strcpy((p->d).s,code);
fseek(f,strlen(k),SEEK_SET);
p->next=*first;
*first=p;
}
le compilateur s arrete au niveau de sscanf (moi meme je sais que c est faux mais j ai pas su comment peut je remplir la liste ligne par ligne ) aidez moi s il vous plait :)
On souhaite charger le contenu d'un fichier texte dans une liste en double chainage (chainage avant et chainage arrière) et effectuer des traitements sur la liste.
La structure de la liste est la suivante :
Struct liste
{
DATA d ;
Struct liste *next ;
Struct liste *prev;
};
Typedef struct liste LISTE;
Le type DATA contient deux champs :
* une chaine de caractère qui contiendra le contenu d'une ligne du fichier texte.
* Le numéro de la ligne du fichier.
Struct data
{
char *s ;
int ligne;
} ;
Typedef struct data DATA ;
On vous demande d'écrire un programme qui permet de charger le contenu d'un fichier texte dans une liste en double chainage
voila mon code de cette fct void charger_liste(LISTE **first,FILE *f)
{
int l=0;
char k[100],code[20];LISTE *p;
f=fopen("f.txt","r+")
while (fgets(k,100,f))
{
sscanf(k,%(strlen(k))s,code);
p=(LISTE*) malloc (sizeof(LISTE));
(p->d).ligne=l++;
strcpy((p->d).s,code);
fseek(f,strlen(k),SEEK_SET);
p->next=*first;
*first=p;
}
le compilateur s arrete au niveau de sscanf (moi meme je sais que c est faux mais j ai pas su comment peut je remplir la liste ligne par ligne ) aidez moi s il vous plait :)
A voir également:
- Saisir le contenu d un fichier texte dans une liste chainee
- Liste déroulante excel - Guide
- Fichier bin - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Rech. ou saisir l'url - Guide
4 réponses
sscanf(k,%(strlen(k))s,code);
Pas besoin de rajouter strlen(k) ici. Mets simplement sscanf(k,"%s",code);
Pas besoin de rajouter strlen(k) ici. Mets simplement sscanf(k,"%s",code);
L'idée d'un forum, c'est de s'entraider, et non de faire le travail des autres. Je te conseille de voir du côté du Site du zéro.