IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Récupérer un noeud d'une liste chainée


Sujet :

C

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 102
    Points : 44
    Points
    44
    Par défaut Récupérer un noeud d'une liste chainée
    Bonjour,

    Je suis en train d'écrire un petit programme et je suis bloqué concernant la valeur de retour d'un noeud.
    Le noeud est correctement crée et les information y sont correctement stockées, mais après l'appel de la fonction, il y'a des caractères aléatoires qui s'ajoutent à fin. Voici le bout de code concerné :

    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
    UnNoeud creerListe(FILE* fichier)
    {
    char ligne[121] = {0};
    UnNoeud tete = NULL;
    char* info[121] = {0};
    char separateurs[] = "[]";
    char* element;
    int j = 0;
    int k = 0;
    tete = malloc(sizeof(UnNoeud));
     
    fgets(ligne, 121, fichier);
     
    for (element = strtok(ligne, separateurs); element; element = strtok(NULL, separateurs))
    {
    if (strcmp(element, " ") != 0 && strcmp(element, "\n") != 0)
    {
    info[j] = element;
    j++;
    }
    }
     
    k = j;
     
    tete -> valeur = info[0];
    tete -> tableau = malloc(k);
     
    for (j = 1; j < k; j++)
    {
    tete -> tableau[j - 1] = malloc(strlen(info[j]));
    tete -> tableau[j - 1] = info[j];
    printf("%s ", (char*) tete -> tableau[j - 1]);
    }
    return tete;
    }
    J'ai un fichier .h.

    Voici le main :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     FILE* fichier = NULL;
    UnNoeud liste = NULL;
     
    fichier = ouvrirFichier(argv[1]);
     
    (fgets(ligne, 121, fichier));
     
    liste = creerListe(fichier);
    Par exemple s'il y'a l'information a b c qui est entrée, c'est a b c et des caractères aléatoires qui s'affichent quand je fais un printf de liste.

    Merci

  2. #2
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2015
    Messages : 53
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par Roud9 Voir le message
    J'ai un fichier .h.
    Peux tu nous fournir le .h qu'on puisse tester ton code = ) ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 102
    Points : 44
    Points
    44
    Par défaut
    résolu. C'est dû à la façon dont je faisais printf

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/03/2014, 09h31
  2. Récupérer le path d'un noeud dans une liste chainée
    Par persé dans le forum Interfaces Graphiques en Java
    Réponses: 5
    Dernier message: 11/06/2013, 23h14
  3. inversion des noeuds dans une liste chainée
    Par mrism000 dans le forum C
    Réponses: 1
    Dernier message: 20/05/2012, 15h35
  4. récupérer un objet dans une liste chainée
    Par marsuwhite dans le forum Langage
    Réponses: 4
    Dernier message: 05/06/2006, 14h05
  5. Insertion d'un noeud dans une liste chaînée
    Par habib106 dans le forum Assembleur
    Réponses: 8
    Dernier message: 07/04/2004, 22h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo