begin process at 2012 05 29 23:13:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Fichier & Disque

 > 

lecture à partir d'un fichier binaire qui contient des structures


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

lecture à partir d'un fichier binaire qui contient des structures

jeudi 23 juin 2011 à 00:13:01 | lecture à partir d'un fichier binaire qui contient des structures

miss_poopoucy


Bonjour,
j'ai un petit problème au niveau de la récupération des structures (Etudiant) enregistrées dans un fichier binaire ,pour les charger ensuite dans une liste chainée..
En premier lieu j'essaye juste de les afficher.
voici mon bout de code(en bas) si quelqu'un a une idée pourquoi ça ne marche pas. je travaille avec le langage C sous Dev C++, à l'exécution j'ai le le debogueur juste-à-temps de visual studio.

Code C/C++ :
 
//Fonction de récupération et de chargement des données a partir du fichier
void chargerListe()
{
         
         flecture=fopen("etudiants.bin","rb" );    
         
         while(!feof(flecture))
         {
              Etudiant *l=(Etudiant *) malloc(sizeof(Etudiant)) ;
              fread(l, sizeof(*l), 1, flecture);
              printf("\n identifiant = %d , nom : %s , moyenne : %f , appreciation : %s ",l->identifiant,l->nom,l->moyenne,l->appreciation);
              
              
         };
     
         fclose(flecture);
}
 
//Fonction d'enregistrement dans le fichier
void enregistrerListe(Etudiant *et)
{
    Etudiant *e;
    e=et;
    fecriture=fopen("etudiants.bin","wb" );
    while(e != NULL)
    {
     fwrite(&e, sizeof(e), 1, fecriture);
     e=e->suivant;
    
    }
    fclose(fecriture);
}

Merci d'avance!
miss poopoucy
jeudi 23 juin 2011 à 10:46:09 | Re : lecture à partir d'un fichier binaire qui contient des structures

CptPingu

Administrateur CodeS-SourceS
1) On ne le répetera jamais assez: Il ne faut pas utiliser Dev-C++ ! C'est un vieil IDE, qui embarque un trèès vieux compilateur. Visual Studio Express ou Code::Block sont bien plus appropriés.
2) Si tu fais, du C, utilise un compilateur de C. Ici, on voit tout de suite que tu utilises un compilateur de C++. En C par exemple, il n'est pas nécessaire de caster le retour du malloc...

Pour ton souci: les champs "nom" et "appreciation", ce sont des "char*" ou des "char[]" à taille fixe ?*

Si ce sont des char*, alors seul le pointeur est stocké dans ton fichier, mais pas la chaîne correspondante. Donc ça ne peut pas fonctionner. Solution: soit tu utilises des "char[]" (avec une taille fixe), soit tu indiques dans le fichier la taille de la chaîne (il te faut donc une information supplémentaire qui est la taille pour chacune des chaînes).

________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question


Cette discussion est classée dans : fichier, binaire, partir, etudiant, flecture


Répondre à ce message

Sujets en rapport avec ce message

Lancer un autre fichier à partir d'un prog en C++ [ par trinitacs ] J'aimerai lancer un .bat à partir de mon prog en C++. Coment dois-je faire?Est-ce que le .bat peut s'éxécuetr de manière différentes suivant la manièr Données en binaire [ par didrocks ] J'aimerai, à l'instar de denini dans "lire/ecrire fichier texte a plusieurs colonnes" faire un fichier de données dans lequel je pourrai écrire à part telecharger un fichier [ par Xs ] On fait comment pour telecharger un fichier ?je suppose qu'il faut demander au serveur de l'ouvrir en binaire puis utiliser une boucle du typewhile(!f Acquisition de Données a partir d'un fichier texte [ par madcow41 ] 'lutBon j'ai un fichier qui contient des lignes formées ainsi :123.145.569.188 - - [12/Apr/2001:00:08:49 +0200] "GET /pagehtml.htm HTTP/1.x" et le res Lire et ecrire dans un fichier en mode binaire [ par vbnul ] Je cherche comment lire et ecrire dans un fichier en mode binaire car on ne peut lire certains "caracteres" binaires dans les EXE par exemple.qqn pour créer un arbre à partir d'un fichier word [ par yeager ] Bonjour je suis nouveau et débutant en langage CJe souhaite pouvoir lire un fichier word comportant des informations sur plusieurs livres. A partir de fichier binaire [ par Kywalh ] Salut,comment fait on pour ecrire un tableau de nombres en binaires de 2 colonnes dans un fichier en ayant la meme disposition (cad 2 colonnes) ???Du ouvrir un fichier à partir d'une dll [ par ally3004 ] bonjour,je voudrais ouvrir un fichier texte ou image à partir d'une DLL ISAPI.Je pense qu'il faut que j'utilise CFile mais je ne sais pas exactement c Lecture de fichier binaire structuré [ par nico20000 ] Bonjour,j'ai besoin de lire dans un fichier binaire dont l'entête ressemble à ceci: (traduite en hexa)Properties gc90063 num FTPLocal le 17/11/2003Je chaine binaire ou non [ par Anacr0x ] Voila mon problème : je recoit en temps normal par socket une chaine que j'afiche ds un edit, seulement, j'ai crée un systeme d'envoi de fichier qui p


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,296 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales