Bonjour, j'ai par exemple le champ de bits suivant:
unsigned int relativeDensity : 6;
unsigned int antiCubicDensity : 6;
int magnetActrprr : 20;
Je souhaite faire une sauvegarde sérialisé des deux derniers paramètres au bit près (je ne souhaite pas que antiCubicDensity prenne 32 bits dans la sauvegarde comme actuellement alors que 6 suffisent).
Mon code actuel pour sérialiser des primitives est le suivant:
si je fais un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 template < typename value_type > inline void ecrireBinaire(ostream& out, const value_type& v) { out.write((char*)&v, sizeof(v)); }
est-ce logique ? Je n'ai pas essayé ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 template < typename value_type, int size > inline void ecrireBinaire(ostream& out, const value_type& v) { out.write((char*)&v, size); }
Et pour la lecture, actuellement j'utilise
puis-je faire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 template < typename type_val > inline void lireBinaire(ifstream& in, type_val& v) { in.read((char*)&v, sizeof(v)); }
Je doute de la pertinence de mes suggessions.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 template < typename type_val, int size > inline void lireBinaire(ifstream& in, type_val& v) { in.read((char*)&v, size); }
Cordialement,
Partager