jon301  | Salut à tous,
 Je dispose d'un fichier dont le format est le suivant :     ---------------------------
 BERNE Rodolphe
 1976
 14, Concierge
 73, Savoie
 GAILLOT Marc
 1974
 45, Secretaire
 68, Haut-Rhin
 ...
 ---------------------------
     A partir de ce fichier, je dois extraire les informations suivantes, que j'ajoute a une liste :
 BERNE Rodolphe, 1976, 14, 73
 GAILLOT Marc, 1974, 45, 68
 ...
   (",Concierge" et ", Savoie" sont ignorés)
   Donc voici comment se présente mon code :
  
  Code :
 - while(!feof(pt_fic)) {
 - 	fscanf(pt_fic, "%[^\\n]s", une_identite);
 - 	fscanf(pt_fic, "%d", &une_annee);
 - 	fscanf(pt_fic, "%d %[^\\n]s", &une_profession, ligne_suite);
 - 	fscanf(pt_fic, "%d %[^\\n]s", &un_departement, ligne_suite);
 - 	InsertionNoeud(ma_liste, NouveauNoeud(une_identite, une_profession, une_annee, un_departement));
 - }
 
  |  
 
   Description des variables :   une_identite : tableau de caractère (contient nom+prenom)
 une_annee, une_profession, un_departement : entiers
 ligne_suite : suite de la ligne dont je ne me préoccupe pas (contient par exemple ", Concierge", ", Savoie" ...)
     Le problème est qu'au final, j'obtiens la liste voulue mais avec tous les éléments en DOUBLE.
 Exemple de liste obtenue :
   ---------------------------
 BERNE Rodolphe, 1976, 14, 73
 BERNE Rodolphe, 1976, 14, 73
 GAILLOT Marc, 1974, 45, 68
 GAILLOT Marc, 1974, 45, 68
 ...
 ---------------------------
   Ceci signifie qu'au premier bouclage, la fonction lit les 4 premières lignes et insère l'élément.
 Au deuxième bouclage, la fonction RE-LIT les 4 mêmes lignes et insère l'élément !
 et ce, jusqu'à la fin du fichier...
   Je ne comprends pas pourquoi le pointeur reste toujours sur la même ligne la 2e fois, alors qu'il devrait avancer 4 par 4.
   Voila voila  
   Merci d'avance pour votre aide !          Jon    |