Hello,
Je bloque sur une segmentation fault à l'appel de cette fonction, ça fait deux heures que je test et je n'arrive pas à voir clair. Est ce que quelqu'un peut m'apporter son regard extérieur ?
- define TMAX 100000
int search_by_title(char *titre, s_livre **tab)
{
int i;
/* Parcours du tableau de structure tab. */
for (i = 0; i < TMAX; i++) {
/* Arrêt si le titre de l'ouvrage est trouvé. */
if (strcmp(tab[i]->titre, titre) == 0) {
printf("Ouvrage de titre %s trouvé, numero %d, auteur %s.\n", titre, tab[i]->num, tab[i]->auteur);
return 0;
}
}
/* Sinon titre non trouvé car sortie de boucle. */
printf("Ouvrage de titre %s non trouve.\n", titre);
return 1;
}
Je pense qu'il y a un soucis avec la ligne :
strcmp(tab[i]->titre, titre) == 0
tab est un tableau de pointeur sur structure. titre sera récupérer dans le main via scanf et mis en paramètre à l'appel de cette fonction.
tab est bien crée avec un double malloc, initialise a NULL, puis chaque case est rempli par lecture dans un fichier. De ce coter le test et l'affichage tournent. Dès l'appel de cette fonction, j'ai une segmentation fault 