salut à tous, j'ai une erreur très étrange, j'ai deux fonctions :
TraitementSMS et DetermineTypeBoitier
et
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 void TraitementSMS() { char *LigneLue; // Contient la ligne lue du fichier texte char TypeBoitier; // Contient la lettre qui détermine le type de boitier LigneLue = (char*)malloc(sizeof(char)); //---Déclarations et initialisations des données---// TypeBoitier = DetermineTypeBoitier(); //---Ouverture du fichier de données---// FILE *f = NULL; f = fopen("CompteurP.txt","r"); if(f == NULL) { perror("fopen"); exit(EXIT_FAILURE); } fgets(LigneLue,100,f); printf("%s",LigneLue); fclose(f);
Le problème est que pour la fonction DetermineTypeBoitier, la fonction fgets fonctionne très bien, le résultat obtenu est correct. Ensuite je réouvre le même fichier, je refais fgets et là l'exécution du programme plante. De plus, à l'origine un autre programme utilisait ces fonctions qui marchaient très bien, donc je trouve cela bien étrange...
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 char DetermineTypeBoitier() { //---Déclarations et initialisations des variables---// char *pointeur; char LigneLue[100]; int NbLigne = 0; FILE *fp; //---Ouverture du fichier de données---// fp = fopen("CompteurP.txt","r"); if(fp == NULL) { perror("fopen"); exit(EXIT_FAILURE); } //---On lit les 2 premières lignes du fichier---// while(NbLigne <2) { fgets(LigneLue,100,fp); NbLigne++; } fclose(fp); }
Partager