[C] Liste chainée
Résolu
Silver53
-
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
Bonjour,
un petit souci avec ma liste chainée, voici mon code :
int load(contact *Debut,contact *Fin)
{
FILE *Contact = NULL;
char NOM[TAILLE_MAX] = "";
char PRENOM[TAILLE_MAX] = "";
char NUMERO[TAILLE_MAX] = "";
char EMAIL[TAILLE_MAX] = "";
int compteur=1;
contact* pcourant=Debut;
system("cls");
Contact = fopen("Contact.txt", "r");
if(Contact!=NULL)
{
contact *Debut = (contact*)malloc(sizeof(contact));
fscanf(Contact, "%s %s %s %s",Debut->nom,Debut->prenom,Debut->numero,Debut->email);
printf("%s",Debut->nom); //LA CA MARCHE
while (!feof(Contact))
{
contact *Nouveau = (contact*)malloc(sizeof(contact));
if(compteur==1)
{
Debut->suivant=Nouveau;
}
pcourant=Nouveau;
fscanf(Contact, "%s %s %s %s", Nouveau->nom,
Nouveau->prenom,Nouveau->numero,Nouveau->email);
Nouveau->suivant =Fin;
Fin=Nouveau;
pcourant=pcourant->suivant;
compteur++;
}
Fin->suivant=Debut;
printf("%s",Fin->nom);
printf("%s",Debut->nom); // LA CA MARCHE AUSSI
} // ON SORT DU IF
fclose(Contact);
printf("%s",Debut->nom); // ET LA CA MARCHE PLUS
}
Donc voilà quand il s'agit d'afficher ma liste chainée, il m'affiche <null> quand je suis sorti du if, où est mon erreur?
merci
un petit souci avec ma liste chainée, voici mon code :
int load(contact *Debut,contact *Fin)
{
FILE *Contact = NULL;
char NOM[TAILLE_MAX] = "";
char PRENOM[TAILLE_MAX] = "";
char NUMERO[TAILLE_MAX] = "";
char EMAIL[TAILLE_MAX] = "";
int compteur=1;
contact* pcourant=Debut;
system("cls");
Contact = fopen("Contact.txt", "r");
if(Contact!=NULL)
{
contact *Debut = (contact*)malloc(sizeof(contact));
fscanf(Contact, "%s %s %s %s",Debut->nom,Debut->prenom,Debut->numero,Debut->email);
printf("%s",Debut->nom); //LA CA MARCHE
while (!feof(Contact))
{
contact *Nouveau = (contact*)malloc(sizeof(contact));
if(compteur==1)
{
Debut->suivant=Nouveau;
}
pcourant=Nouveau;
fscanf(Contact, "%s %s %s %s", Nouveau->nom,
Nouveau->prenom,Nouveau->numero,Nouveau->email);
Nouveau->suivant =Fin;
Fin=Nouveau;
pcourant=pcourant->suivant;
compteur++;
}
Fin->suivant=Debut;
printf("%s",Fin->nom);
printf("%s",Debut->nom); // LA CA MARCHE AUSSI
} // ON SORT DU IF
fclose(Contact);
printf("%s",Debut->nom); // ET LA CA MARCHE PLUS
}
Donc voilà quand il s'agit d'afficher ma liste chainée, il m'affiche <null> quand je suis sorti du if, où est mon erreur?
merci
A voir également:
- [C] Liste chainée
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
- Site dangereux liste - Guide
- Liste site streaming illégal - Accueil - Services en ligne
typedef struct contact{
char nom[30];
char prenom[30];
char numero[30];
char email[30];
struct contact *suivant;
}contact;
tout marche à merveille sauf qu'une fois sorti de la fonction, lorsque j'affiche Debut->nom il m'ecrit <null>. Je pense qu'il doit vidé le maillon Debut de ma liste chainée mais je ne vois pas où?