Bonjour,
Voici un bug que je ne comprends pas. J'ai la classe A suivante :
Le programme plante lors de l'écriture dans le fichier file, alors qu'il est ouvert en vertu du test effectuer au préalable. Par contre, si je mets la ligne "ligne bug" en commentaire et décomente la section /* ... */ qui suit:
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 class A{ ... void out(char* text); FILE *file; }; void A::out(char* text) { if (file==0) file=fopen("my_file.txt","a"); if (file!=0) { fprintf(file,text); // ligne bug /* FILE *e_file; e_file = fopen("another_file.txt","a"); fprintf(e_file,text); fclose(e_file); */ } }
1/ je vérifier bien que le file file est ouvert
2/ l'écriture dans e_file se passe bien
Donc, lorsque je veux écrire dans file le fichier est bien ouvert : pourquoi le plantage ? Est-ce parce que file est décrit comme un membre de la classe A (et non localement, comme e_file) ?
Christian
Partager