Bonjour,

J'ai une erreur de segmentation lors du 2eme appel de:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
while(fgets(tampon,100,fic) != NULL)
Je ne comprend pas pourquoi. surtout qu'il reussi une premiere fois alors pourquoi pas les suivantes ?

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
void charg_etats(FILE *fic, psom *prem_som,int *nbr_som)
{
char tampon[100];
psom nouv;
 
*nbr_som=0;
 
 //on se place a la 3eme ligne
fgets(tampon,100,fic);fgets(tampon,100,fic);
while(fgets(tampon,100,fic) != NULL)    
   {
   *nbr_som= (*nbr_som)+1;
   nouv=(psom)malloc(sizeof(som));
   nouv->sommet=fscanf(fic,"%d");
   nouv->arc=NULL;
   nouv->ef=0;     //par defaut l'etat n'est pas final
   nouv->prec_etat=*prem_som;
   *prem_som=nouv; 
   }          
}