 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Fabien LE LEZ Guest
|
Posted: Thu Mar 10, 2005 5:33 pm Post subject: Re: Enregistrer std::list dans un fichier |
|
|
On Thu, 10 Mar 2005 19:19:28 +0100, matlerouge
<matlerougeNOSPAM (AT) laposte (DOT) net>:
| Quote: | Y'a t'il une autre solution que tout enregistrer en mode text, et de
recrerer la liste, les map a chaque lecture du fichier ?
|
Non. Mais tu peux te faire aider. Cherche les mots "sérialisation" ou
"serialization" dans Google (web + archives du forum).
--
;-)
|
|
| Back to top |
|
 |
matlerouge Guest
|
Posted: Thu Mar 10, 2005 6:19 pm Post subject: Enregistrer std::list dans un fichier |
|
|
Bonjour, j'ai une std::list<element>, avec element une structure qui
contient des std::string et std::map.
Y'a t'il un moyen simple d'enregistrer cette liste dans un fihchier ? Et
de la relire apres (j'avais pensé tout enregistrer en binaire, mais bon,
comme la liste est chainé avec des pointeur, j'ai peur que ca passe mal.
Y'a t'il une autre solution que tout enregistrer en mode text, et de
recrerer la liste, les map a chaque lecture du fichier ?
Merci
|
|
| Back to top |
|
 |
Jean-Sebastien Mouret Guest
|
Posted: Thu Mar 10, 2005 6:28 pm Post subject: Re: Enregistrer std::list dans un fichier |
|
|
matlerouge <matlerougeNOSPAM (AT) laposte (DOT) net> writes:
| Quote: | Bonjour, j'ai une std::list<element>, avec element une structure qui
contient des std::string et std::map.
Y'a t'il un moyen simple d'enregistrer cette liste dans un fihchier ? Et
de la relire apres (j'avais pensé tout enregistrer en binaire, mais bon,
comme la liste est chainé avec des pointeur, j'ai peur que ca passe mal.
|
<pub>
Boost.Serialization
http://www.boost.org/libs/serialization/doc/index.html
</pub>
| Quote: |
Y'a t'il une autre solution que tout enregistrer en mode text, et de
recrerer la liste, les map a chaque lecture du fichier ?
|
ton probleme est le meme que ce soit dumpe' en texte ou en binaire.
--
js
|
|
| Back to top |
|
 |
kanze@gabi-soft.fr Guest
|
Posted: Fri Mar 11, 2005 7:58 am Post subject: Re: Enregistrer std::list dans un fichier |
|
|
matlerouge wrote:
| Quote: | Bonjour, j'ai une std::list<element>, avec element une
structure qui contient des std::string et std::map.
Y'a t'il un moyen simple d'enregistrer cette liste dans un
fihchier ?
|
Ça dépend de ta définition de « simple ». Conceptuellement,
c'est ultra simple, mais il faut un peu de code, quand même.
| Quote: | Et de la relire apres (j'avais pensé tout enregistrer en
binaire, mais bon, comme la liste est chainé avec des
pointeur, j'ai peur que ca passe mal.
|
Tu peux formatter en binaire comme tu peux formatter en texte.
Les fonctions de formattage de texte ont l'avantage d'exister
déjà, mais elles n'assure pas l'aller-retour en ce qui concerne
std::string. (C-à-d que si tu écris la chaîne avec <<, tu n'es
pas garanti de pouvoir le rélire correctement avec >>. C'est un
peu le cas de tous les types, dans la mésure que << n'insère pas
de séparateur, mais le cas des chaînes est particulièrement
flagrant.)
| Quote: | Y'a t'il une autre solution que tout enregistrer en mode text,
et de recrerer la liste, les map a chaque lecture du fichier ?
|
Il faudrait de toute façon récréer les données quand on les
rélit. Quelque soit le format choisi.
AMHA, la première chose à faire est de définir un format. De
préférence texte, parce que c'est plus facile à débugger (de
loin). Le choix d'un format pourrait dépendre de ce que
représent ces chaînes, et de ce que le map contient ; il est
beaucoup plus facile à définir un format où les chaînes
n'utilisent qu'un sous-ensemble des caractères disponibles, où
qu'elles ont une longueur fixe, par exemple.
--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|