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 :
Donc je voudrai lire ce fichier et pouvoir afficher les infos des blocs dans un programme.
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 j'ai pensé à créer un tableau de string en faisant comme ça :
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]};" ....
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; }
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
Partager