coucou,

voilà j'ai une erreur que je n'explique pas avec un fgets

voici 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
if(TableauCarte!=NULL) //allocation réussie
    {
        for(i=0;i<NbLigne;i++)
        {
            //on récupère les données
 
            printf("%s\n",fgets(buffer, MAX_CHAR, fp));
            if(fgets(buffer, MAX_CHAR, fp)==NULL);
            {
                printf("Erreur, impossible de récupérer les infos de la carte pour la ligne: %d",i+1);
                exit(-1);
            }
            //initialisation du 1er element de la ligne
            TableauCarte[i][0] = strtol(buffer, &endChar, 10);
            for(j=1;j<NbCol;j++)
            {
              TableauCarte[i][j] = strtol(endChar + 1, &endChar, 10);
 
            }
        }
 
        fclose(fp);
        return TableauCarte;
    }
le problème se trouve à ce niveau
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
printf("%s\n",fgets(buffer, MAX_CHAR, fp));
            if(fgets(buffer, MAX_CHAR, fp)==NULL);
en fait j'ai ajouté un printf pour voif ce que ca affiche, et là ca m'affiche ma ligne de données. Or (en enlevant mon printf) ma condition if est validée, pourtant mon fgets renvoie bien quelque chose.
Pourquoi?