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)
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)
{
initialise_struct(ligne);
while ( ! strcoll (nom, ligne.champ[1])
initialise_struct(ligne);
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

je suis désolée mais en fait, les deux points sont juste des erreurs de frappe car je n'avais pas mon programme sous les yeux lorsque je l'ai tapé, désolé. Donc, avec la bonne écriture, le programme ne marche pas, j'ai toujours la même erreur et je ne vois pas d'où cela peut venir. (dans la bonne version je n'utilise pas d'arguments pour la fonction "initialisation_struct")