Bonjour,

je suis débutante en c et j'ai un problème lors de l'éxécution de mon programme : cela m'affiche erreur de segmentation. J'ai essayé de chercher d'où cela pouvait venir, j'ai trouvé la ligne mais je ne vois pas comment régler le problème. s'il vous plaît aidez-moi!!

(je précise que mon programme permet d'afficher les données qui correspondant à un nom dans un fichier répertoire)
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
32
33
34
35
36
37
38
 
struct ligne 
{ 
   char *champ[8]; 
} 
 
struct ligne ligne; 
 
void 
initialisation_struct( ) 
{ 
   size_t cpt=1; 
   char c; 
   int i=0; 
 
   while((c=getchar( ) ) ! = '\n') 
   { 
      if ( c == '\t') 
      { 
         i=0; 
         cpt ++; 
      } 
      else 
      { 
         ligne.champ[cpt][i]=c; /* c'est cette ligne qui pose problème*/ 
         i++; 
      } 
   } 
} 
 
void 
affichernom( char *nom) 
{ 
   initialisation_struct(); 
   while ( ! strcoll (nom, ligne.champ[1]) 
      initialisation_struct(); 
   printf("%s %s %s %s %s %s %s %s\n", nom, ligne.champ[2], ligne.champ[3], ligne.champ[4], ligne.champ[5], ligne.champ[6], ligne.champ[7], ligne.champ[8]); 
}
Je sais que dans mon code il y a des erreurs ce n'est qu'une première version.... soyez indulgent s'il vous plaît.
Merci d'avance