Bonjour,
Je cherche à lire un fichier et remplir un tableau dont chaque case sera une ligne de ce fichier. En fait j'ai un fichier qui contient des objet javascript comme ça :

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
...
BLOC[482] = {champ1:"texte",
              champ2:[["texte","texte"]],
              champ3:[["text","texte"]],
              champ4:["text","texte"],
              champ5:[[1]],
              champ6:[[10,3]],
              champ7:181,
              champ8:18,
              champ9:[146,30,69,1,138,187,216,14]};
 
BLOC[483] = {champ1:"texte",
              champ2:[["texte","texte"]],
              champ3:[["text","texte"]],
              champ4:["text","texte"],
              champ5:[[1]],
              champ6:[[10,3]],
              champ7:181,
              champ8:18,
              champ9:[146,30,69,1,138,187,216,14]};
...
Donc je voudrai lire ce fichier et pouvoir afficher les infos des blocs dans un programme.

Donc j'ai pensé à créer un tableau de string en faisant comme ça :

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
int main(int argc,char **argv)
{
int Nbr_lignes = nombreLignes("fichier.js");
                   //nombreLignes() donne le nombre de lignes du fichier
 
    char *tableau[Nbr_lignes];
    tableau[0]="Tableau";
 
    char chaine_temp[100];
 
    FILE *f=fopen("fichier.js","r");
 
    for (int i=1;i<=Nbr_lignes;i++) {
        fgets(chaine_temp,100,f);
        tableau[i]=chaine_temp;
        printf("%s",tableau[i]);
    }
 
    fclose(f);
    return 0;
}
Le "printf("%s",tableau[i]);" affiche bien les lignes dans la console; mais lorsque je veux accéder ensuite aux case du tableau, elle contiennent toutes la dernière ligne du fichier texte "champ9:[146,30,69,1,138,187,216,14]};" ....

Comment faire pour avoir bien une ligne par case du tableau et non pas seulement la derniere partout ?

Ou sinon y-a-t-il une meilleure solution ? Merci