bonjour, j'ai un segfault sur fgets() et je ne voit pas du tout pourquoi. voila mon code:
Si quelqu'un a une idée car moi je ne voit pas du tout comment il peut segfault. Je precise que le fichier sur lequel je teste actuellement contient 4 lignes de 20 caractères donc ce n'est pas la taille du buffer qui est en cause.
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 void parse_file(char *file) { char *title; char *value; char *line; char buff[4096]; FILE *f; int c; int c_buff; c = 0; c_buff = 0; if ((line = malloc(MALLOC_LINE * sizeof(char))) == NULL) exit(0); if ((title = malloc(MALLOC_TITLE * sizeof(char))) == NULL) exit(0); if ((value = malloc(MALLOC_VALUE * sizeof(char))) == NULL) exit(0); f = fopen(file, "r"); if (f == NULL) { printf("impossible d'ouvrir le fichier\n"); Sleep(1000); csv_to_sql(); } while (fgets(buff, 4096, file) != NULL) { printf("test"); ... }
merci de votre aide
Partager