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 :

charger un fichier dans une liste chainée


Sujet :

C

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2015
    Messages : 3
    Par défaut charger un fichier dans une liste chainée
    Bonsoir!

    Pouvez-vous m'aider dans ce code je ne sais pas pourquoi ça ne marche pas :/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    typedef struct Materiel
    {
        char numdeserie[25];
        char type[25];
        char marque[25];
        float prix;
        struct Materiel *suiv;
    } materiel;
    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
    36
    materiel* charger_Materiel(materiel* ma)
    {
     
        materiel *p;
     
        FILE* fichier;
     
        fichier = fopen("gestmat.bin","r");
        p=Malloc(materiel);
     
        if (fichier == NULL)
        {
            printf("Erreur d'ouverture du fichier");
            exit(0);
        }
        else
        {
     
            do
            {
                fscanf(fichier, "%s\t ",p->numdeserie);
                fscanf(fichier, "%s\t ",p->marque);
                fscanf(fichier, "%s\t ",p->type);
                fscanf(fichier, "%2.f\t ",&p->prix);
     
                ma=Ajouter_Materiel(ma,p->numdeserie,p->type,p->marque,p->prix);
     
     
            }
            while(fgetc(fichier) != EOF);
     
     
        }
     
        fclose(fichier);
        return ma;
    La fonction Ajouter_materiel marche très bien elle permet d'ajouter dans une liste chaînée de manière croissante mais le programme quand je l’exécute cesse de fonctionner !!

  2. #2
    Invité
    Invité(e)
    Par défaut
    En lisant les messages d'erreur à la compilation, par exemple ? C'est déjà un bon début pour comprendre "pourquoi ça marche pas".

    Je ne connais aucune fonction Malloc(), mon compilateur non plus d'ailleurs, et encore moins google et le man. malloc() par contre... !

    La fonction malloc() attends en paramètre la taille de la zone mémoire à allouer. Là en l’occurrence, ce n'est pas ce que tu fais... Pour donner la taille d'un type, il faut utiliser l'instruction sizeof().

    Comme d'une part, tu utilises une fonction qui n'existe pas, et d'autre part tu ne lui donnes pas une taille définis, je ne comprends même pas en quoi ce programme pourrait compiler et tourner...

Discussions similaires

  1. Réponses: 7
    Dernier message: 21/11/2012, 12h40
  2. Réponses: 4
    Dernier message: 11/07/2007, 19h28
  3. Charger un fichier dans une textarea
    Par boux2 dans le forum Langage
    Réponses: 2
    Dernier message: 28/01/2006, 16h16
  4. Réponses: 2
    Dernier message: 10/10/2005, 02h25
  5. Réponses: 4
    Dernier message: 24/04/2003, 22h28

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