Bonjour à toutes et à tous.

Je dois traiter un fichier binaire dans lequel a été sauvé les données d'une structure. Je ne connais pas le type de cette structure mais seulement le type de chacun des champs comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
struct UneAutreStructure
{
enum
unsigned char
};
 
struct LaStructureALire
{
double
double
double
double
double
double
double
double
enum
double
double
enum
double
struct UneAutreStructure
double
double
double
double
double
double
unsigned long
double
};
Je lis le fichier de la façon suivante : je lis un double, un double, ... etc en fonction du type suivant de la structure. Le problème est que le résultat lue n'est pas cohérent.

J'ai donc vérifié si la taille des données écrites est égale à la taille des données lues mais en fait quand je compare la taille de la structure et la somme de la taille de tous ses membres je ne trouve pas d'égalité, est ce normal ?

Sachant que la structure est enregistrée telle quelle et non pas champ par champ, suis je obligé de créer une structure avec des champs équivalent pour lire les données correctement ou bien puis effectuer la lecture des données de la structure champ par champ depuis le fichier ?

Connaissant les types des champs de la structure je peux effectivement en construire une identique et venir la lire d'un coup mais j'airmerai tout de même savoir comment est gérée la sérialisation et désérialisation d'une structure.

D'avance merci pour vos réponses.

++