bonjour, je dois faire un programme qui lit un fichier mot à mot et qui les stocke dans une liste chainée seulement si ils ne sont pas deja present.
voici une partie de mon code:
while (fscanf(fp,"%s",mot),!feof(fp))
{
if(P!=NULL){
printf("P->chaine =%s\n",P->chaine);
}
printf("Le mot lu dans le fichier est %s\n",mot);
if(P==NULL)
{ P=enfin(P,mot); //
printf("P->chaine ds p0=%s\n",P->chaine);
}
else
{
printf("P->chaine dans else=%s\n",P->chaine);
if(P->chaine==mot) fprintf(fp2,"%d",i);// cas où le mot est le 1er de la liste.
Mon soucis c'est que "P->chaine" contient tjrs le mot en cours de lecture au lieu de garder en memoir le precedent. Je ne vois pas à quelle moment il fait l'affectation P->chaine=mot en cours de lecture et pourtant le dernier printf affiche bien le dernier mot lu...
Merci