Données en binaire

Messages postés
73
Date d'inscription
samedi 11 janvier 2003
Statut
Membre
Dernière intervention
17 décembre 2007
- - Dernière réponse : didrocks
Messages postés
73
Date d'inscription
samedi 11 janvier 2003
Statut
Membre
Dernière intervention
17 décembre 2007
- 6 avril 2003 à 18:03
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 à partir d'un prog (et non directement) et aussi les lire.
Genre, plusieurs catégories:
-Perso
->Perso1
->> nom
->> chemin du bmp
->> Texte1
->> ConditionPourTexte2
->> Texte2
->> ...
->Perso2
...

-Objects
->Object1
->> Apparence

-...

Y a t'il un moyen de faire cela de manière simple? (chaque paramètre sera stocké dans une variable différente). De plus, je ne connais pas l'avance le nombre de Perso, d'objects, ect...
Comment faire? merci
Afficher la suite 

3 réponses

Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
7
0
Merci
bonjour,

Structures mémoires :
si tes structures de données sont connues à l'avance, il est simple de définir des structures :
struct Perso
{ string nom;
string chemin_bmp;
...};
struct Objet idem

ensuite, il faut choisir une structure de stockage dans le fichier texte
Une technique courante est de coder un Identifiant d'enregistrement de manière à savoir le relire correctement
Exemple :
'P' pour la struct Perso et 'O' pour la struct Objet

ensuite, il suffit d'écrire les lignes du fichier comme des enregistrements séparés et délimités par des | (par exemple)
P|nomdePerso1|bmp1|...
P|nomdePerso1|bmp1|...
O|apparenceObjet1|...

lors de la relecture, tu lis la ligne :
if P on décode chacun des champs qu'on envoie dans une struc Perso
Attention à bien prévoir tous les cas, en particulier :
- deux délimiteurs qui se suivent (champs non renseigné)
- un délimiteur utilisé dans le texte (à éviter...)
Commenter la réponse de cs_vieuxLion
Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
7
0
Merci
je n'ai pas vu le rapport avec ton titre

il suffit d'un fichier texte pour ce problème ... à moins que tu ne doive stocker des champs binaires.
Si c'est le cas, le fichier délimité ne convient pas
Il faut alors utiliser une autre technique :
par exemple stocker chaque champ sous la forme
nombre d'octets, valeur du champ
Commenter la réponse de cs_vieuxLion
Messages postés
73
Date d'inscription
samedi 11 janvier 2003
Statut
Membre
Dernière intervention
17 décembre 2007
0
Merci
Non, je pensais au début faire comme tu me le dis, (oui, les structures, e fait les classes, sont connues) mais j'ai lu quelque part sur le forum que cette méthode était assez lente (surtout que je veux avant tout, crypter les données), d'où ma question sur un système en binaire!
Commenter la réponse de didrocks