ce code permet de sauvegarder et restaurer des classes entières . Elle présente la sauvegarde/restauration de différents éléments tel que:
->tableau statiques
->tableau dynamiques
->std::string
->std::vector
->types de base(int,float,...)
il y a aussi un exemple de std::vector de classe ainsi que d'un tableau de classe pour gérer tous las cas pouvant se présenter .
Source / Exemple :
voir zip
le code n'est pas beaucoup commenté donc si cela ne suffit pas dites le moi et je mettrais à jour après l'avoir commenté .
NOTE: lors de la sauvegarde de chaîne de caractères tel que std::string, le 0 final n'est pas sauvegardé puisqu'il est inutile(on sauvegarde la longueur de la chaîne) .
Conclusion :
pour simplifier la vérification du code, chaque classe peut être "imprimé", j'ai dirigé l'impression dans un fichier nommé "out.txt" qui présente l'état des classe avant sauvegarde->destruction->restauration et après .
la sauvegarde est faite dans un fichier nommé "save.sav" .
Ce code est surtout une réponse plus complète un poste du forum(certe un peu en retard :) mais ce n'est pas perdu je pense) et n'a aucun utilité puisque les classes sont entièrement remplis par des rand() !!! Ce sont juste les fonctions de sauvegarde et de restauration qui sont intéressante .
Je met ce code en initié à cause de l'utilisation intensive de pointeur qui nécessite tout de même un peu de connaissances du language .
21 mars 2005 à 18:39
Je viens de faire une rapide recherche sur internet et c'est vrai que c'est pour sauvegarder des objets .
En fait c'était surtout pour aider quelqu'un du forum donc je fait par une méthode assez brute mais qui marche pour tout les objets que je sauvegarde mais de là a ce quelle soit plus complexe je sait pas parce que pour sauvegarder un graph avec des pointeurs entre eux dans tous les sens, il faudrait faire encore un traitement avant qui compliquerais la tâche . Cela dépend de la complexité des objets a stocker mais ici ma méthode est très général et en plus tout ce que je stocke ne sert à rien !!
Merci pour cette remarque: je me renseignerais sûrement plus sur le sérialisation.
21 mars 2005 à 12:13
ta méthode ressemble à de la sérialisation
en plus complexe
conseil: renseigne toi sur cette façon de faire qui doit etre, d'après l'avis de certains pro optimal
++
Nono.
17 mars 2005 à 08:40
16 mars 2005 à 17:53
Néanmoins je ne vois pas ce que tu veux dire par
" Tu confonds pas les notions de classes et d'instance par hasard ?"
si c'est le fait que je dise que l'on sauvegarde une classe et que tu préfère que je dise qu'on sauvegarde l'instance d'un classe excuse moi de cet abus de language mais je pense que tu avais compris quand même avec le commentaire du dessous ?
16 mars 2005 à 11:17
Tu confonds pas les notions de classes et d'instance par hasard ?
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.