bonjour, j'ai un segfault sur fgets() et je ne voit pas du tout pourquoi. voila mon code:
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");
           ...
     }
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.

merci de votre aide