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 :

probl�me avec fwrite et fread en utilisant un tableau de structures


Sujet :

C

  1. #1
    Membre actif
    Inscrit en
    Septembre 2008
    Messages
    104
    D�tails du profil
    Informations personnelles :
    �ge : 35

    Informations forums :
    Inscription : Septembre 2008
    Messages : 104
    Par d�faut probl�me avec fwrite et fread en utilisant un tableau de structures
    Salut tout le monde. J'ai un probl�me. Je voudrais exporter et importer un tableau de structures dans deux fichiers(binaire et texte), �a marche avec fprintf et fscanf, mais ce b'est pas le cas avec fread et fwrite. Pourriez-vous m'aider? Je vous remercie d'avance. Voil� un extrait de mon code.

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    typedef struct{
        char nom[40];
        char prenom[40];
        float note;
    }fiche;
     
    void exp_txt(fiche *f) /*exporte les données de la structure dans un fichier texte*/
    {
        FILE *fichier=NULL;
        int i;
     
        fichier=fopen("text2.txt","w");
     
        if(fichier!=NULL)
        {
            for(i=0;i<5;i++)
            {
                fwrite(& f, sizeof(*f),1,fichier );
            }
            fclose(fichier);
            printf("Exportation reussie.\n");
        }
        else{
            printf("ERREUR");
        }
    }
    void exp_bin(fiche *f) /*exporte les données de la structure dans un fichier binaire*/
    {
        FILE *fichier=NULL;
        int i;
     
        fichier=fopen("ex_txt.bin","wb");
     
        if(fichier!=NULL)
        {
            for(i=0;i<5;i++)
            {
               fwrite(& f, sizeof(*f),1,fichier );
            }
            fclose(fichier);
           printf("Exportation reussi.\n");
        }
        else{
            printf("ERREUR");
        }
    }

  2. #2
    Expert confirm�
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    void exp_txt(fiche *f) /*exporte les données de la structure dans un fichier texte*/
    {
    .....
                fwrite(& f, sizeof(*f),1,fichier );
    f est d�j� l'adresse de la structure � �crire :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
                fwrite(f, sizeof(*f),1,fichier );
    idem pour exp_bin

  3. #3
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 398
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 398
    Par d�faut
    De plus, faire un fwrite() d'une structure dans une fonction d'exportation texte, �a me parait hautement suspect...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. R�ponses: 0
    Dernier message: 20/04/2009, 10h49
  2. Probl�me avec fwrite sous windows
    Par cerede2000 dans le forum C
    R�ponses: 43
    Dernier message: 13/10/2008, 10h24
  3. Probl�me avec fwrite
    Par NeMo_O dans le forum C
    R�ponses: 6
    Dernier message: 19/03/2007, 09h20
  4. Probl�me avec fwrite() : besoin d'un coup de main
    Par yopuke dans le forum Langage
    R�ponses: 2
    Dernier message: 16/04/2006, 09h43
  5. [Configuration] Probl�me avec un script de login utilisant une session
    Par HNT dans le forum EDI, CMS, Outils, Scripts et API
    R�ponses: 2
    Dernier message: 27/09/2005, 19h56

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