bonjour a tous,
mon probleme est le suivant j'ecris dans un fichier et je voudrais recuperer les donnees dans le fichier en faisant une lecture ligne par ligne et en enregistrant chaque composant de la ligne dans un champ. mon code est le suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
    //declaration de ma structure
   typdef struct stligne stligne;
   struct stligne{
      int id;
      char ch1[50];
      char ch2[50];
      char ch3[50];
   };
// fonction ecrire ligne
 
int ecrireligne(stligne *ligne)
{
   FILE *pF = NULL;
   if ((pF = fopen("fichier.csv", "a"))){ 
            fprintf(pF, "%4d, %s, %s, %s \n", 
                           &ligne->id, ligne->ch1, ligne->ch2, ligne->ch3);
            fclose(pF);
            return 0;
   } else return 1;
}
 
void lireligne(){
   char line[1024];
   stLigne ligne;
   FILE *pF = NULL;
   if ((pF = fopen "fichier.csv", "r"))){
         while(feof(pF) == 0){
            fgets(line, sizeof (ligne), pF);
            sscanf(line,"%4d %s %s %s", 
                      &ligne.id, ligne.ch1, ligne.ch2, ligne.ch3);
            printf("\n %4d %s %s %s", ligne.id, ligne.ch1, ligne.ch2, ligne.ch3);
         }
         fclose(pF);
   }
}
à l'ouverture du fichier il contient toute les infos de la struct mais á la lecture je n'obtient pas le dernier champ ligne.ch3 pour toutes les lignes du fichier.
quelqu'un pourrait me dire pourquoi??
merci