Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2403 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Ecrire le contenu d'une structure dans un fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ecrire le contenu d'une structure dans un fichier

n°1003290
bob007
Posté le 07-03-2005 à 10:01:14  profilanswer
 

Salut all,
 
j'ai besoin d'ecrire le contenu d'une grosse structure dans un fichier (pour faire une sauvegarde en fait), et je ne vois pas comment calculer la taille de ce qu'il y a a ecrire.
 
Quelqu'un peut il m'aider ?
 
Merci par avance  :jap:

mood
Publicité
Posté le 07-03-2005 à 10:01:14  profilanswer
 

n°1003293
Taz
bisounours-codeur
Posté le 07-03-2005 à 10:06:38  profilanswer
 

utilise fwrite
 
fwrite(&ma_struct, sizeof ma_struct, 1, fichier);

n°1003327
bob007
Posté le 07-03-2005 à 10:39:37  profilanswer
 

yes ok merci, le probleme est que de cette maniere, j'obtiens un fichier de 40 octets, ce qui ne correspond surement pas a toute ma structure...
Je vais tester, mais si tu as une idee du pb, je prends!
 
Merci encore

n°1003356
bob007
Posté le 07-03-2005 à 10:52:40  profilanswer
 

VOila le code:

Code :
  1. fwrite(data, sizeof(*data), 1, fd);


cela ecrit 40 octets.
 
Ensuite, fread retourne 0
 
Help :jap:

n°1003367
Taz
bisounours-codeur
Posté le 07-03-2005 à 11:00:06  profilanswer
 

super ... c'est exactement la même chose (sauf le parenthésage excessif) ...

n°1003586
bob007
Posté le 07-03-2005 à 14:16:59  profilanswer
 

oui mais le resultat n'est pas celui que j'attends. Jesuis d'accord avec toi, c'est bien la meme chose!

n°1003589
moi23372
Posté le 07-03-2005 à 14:18:24  profilanswer
 

montre nous un peu ta structure, normalement il n'y aucun probleme... sauf si bien sure tu as des pointeurs dans ta structure...

n°1003608
Taz
bisounours-codeur
Posté le 07-03-2005 à 14:35:21  profilanswer
 

et tu attend quoi comme résultat ? t'es pas entrain de nous dire sizeof ta_struct ne renvoie pas la bonne valeur ?

n°1003624
bob007
Posté le 07-03-2005 à 14:54:53  profilanswer
 

il y a des pointeurs dans la structure.Non Taz je ne dis pas sizeof ne renvoi pas la bonne structure, il est po con le sizeof !
 
Le probleme est que effectivement dans cette structure il y a des pointeurs. Comment faire dans ce cas.
 
Pour repondre a ta question Taz je voudrais qu'on me dise quelle taille mettre (enfin comment la calculer en fonction du nombre de pointeurs contenus dans cette fameuse structure).
 
Merci moi23372 pour l'info des pointeurs

n°1003628
Taz
bisounours-codeur
Posté le 07-03-2005 à 14:55:47  profilanswer
 

ben si y a des pointeurs, ta la solution toi même : les données ne sont pas dans ta structure. donc soit tu les mets dans ta structure, soit tu définis ton propre format de stockage

mood
Publicité
Posté le 07-03-2005 à 14:55:47  profilanswer
 

n°1003631
gege2061
Posté le 07-03-2005 à 14:56:06  profilanswer
 

Bonjour,

bob007 a écrit :

Code :
  1. fwrite(data, sizeof(*data), 1, fd);



Cette manière de faire n'est pas portable (tu ne vas pas pouvoir transporter le fichier de sauvegarde de la structure), le plus simple est de mettre ça sous forme d'un fichier texte (en plus c'est plus facile pour visualiser le résultat).

n°1003632
Taz
bisounours-codeur
Posté le 07-03-2005 à 14:57:34  profilanswer
 

oui, mais c'est pas efficace, ni facile à manipuler.

n°1003633
bob007
Posté le 07-03-2005 à 14:57:42  profilanswer
 

@taz: Mon propre format de stockage, qu'entends tu par la ?
@gege2061: oui effectivement, mais je ne voudrais pas que l'user soit en mesure de lire trop facilement le contenu de ce fichier.

n°1003638
Taz
bisounours-codeur
Posté le 07-03-2005 à 15:07:22  profilanswer
 

ben tu définis comment tu stocke tes données, quel format, quel disposition, etc

n°1003665
bob007
Posté le 07-03-2005 à 15:27:51  profilanswer
 

ah d'accord, ouais y'a du boulot quoi.
Pas moyen de stocker le contenu de la structure et les donnees pointees d'un coup ?

n°1003668
Taz
bisounours-codeur
Posté le 07-03-2005 à 15:29:58  profilanswer
 

non

n°1003822
bob007
Posté le 07-03-2005 à 17:43:58  profilanswer
 

merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Ecrire le contenu d'une structure dans un fichier

 

Sujets relatifs
lire un fichier wav[PHP] recupérer le contenu d'une page dans une session
Récupération de la date de création d'un fichierOuverture fichier excel
acces à un fichier réseau à partir d'un script PERL[EXCEL] Recherche d'un fichier fermé
pb pour ouvrir un fichierextraction du contenu de balises
gest(line) et gérer la fin du fichier ?Comment ecrire/lire bit à bit dans un fichier en langage c/c++ ?
Plus de sujets relatifs à : Ecrire le contenu d'une structure dans un fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR