Je débute en C et j'ai un problème avec la fonction "fopen". En fait le projet que je dois faire consiste à gérer des conférences. Je dois donc d'abord charger les données de ces conférences. Les conférences se trouvent dans un fichier "configuration.txt". Dans ce fichier, je lis le nom des conférences qui correspondent aussi à un fichier. Dans ce fichier que je dois ouvrir également, je dois lis les infos sur les conférences (Nom de la conf, date de la conf, etc). Viens alors le pb... si je mets, par exemple, 15 noms de conférences de le fichier initial de configuration, le programme me dira comme quoi "Fp2 == NULL" (il affiche "pas ouvert") ceci pour les 14 premières conférences. Par contre, pour la dernière conférence qu'il lira, il lire et m'affichera correctement les informations de la 15èmeconférence (dernière de la liste). Si vous pouviez me dire comment régler ce pb, ça m'arrangerait...lol. Merci d'avance !
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 int main() { char * config = "configuration.txt"; char buffer[256]; char buffer2[256]; char confer[256]; FILE *Fp; FILE *Fp2; Fp = fopen (config, "r"); while(fgets(buffer, 255, Fp)!= NULL) { printf("%s 1\n",buffer); strcpy(confer, buffer); Fp2 = fopen (confer, "r"); if(Fp2 == NULL) printf("pas ouvert\n"); else { while(fgets(buffer2, 255, Fp2)!= NULL) { printf("%s\n",buffer2); } fclose(Fp2); } } fclose(Fp); }
Partager