Bonjour à tous,
J'aimerais enregistrer une classe contenant des std::string dans un fichier binaire (et bien sur, j'aimerais la charger ultérieurement).
Pour cela j'ouvre mon fichier en mode std::ios::binary et j'utilise les méthodes write() et read() des classes fstream, ifstream et ofstream (ex : write(char*)(&ma_classe), sizeof(ma_classe)).
Le problème c'est que tous les types qui utilisent des pointeurs (dans le cas des std::string un char*) pour allouer de la mémoire dynamiquement (c'est valable aussi pour tous les conteneurs de la STL) n'enregistrent pas ce que leurs pointeurs pointent et c'est justement ce dont j'ai besoin.
Dans mon cas je ne veux enregistrer que des string, des int et des bool (pas de problème pour ces deux derniers types).
J'aimerais donc savoir si quelqu'un à trouvé une méthode efficace pour enregistrer une instance d'un objet contenant des std::string.
J'avais pensé à un truc du genre :
Le problème c'est qu'il est interdit décrire "char sc[c.size()]"!
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Merci d'avance de votre aide!
Spartan03

 

 
		
		 
         
 

 
			
			


 
   



 Enregistrer une classe contenant des std::string dans un fichier binaire
 Enregistrer une classe contenant des std::string dans un fichier binaire
				 Répondre avec citation
  Répondre avec citation
Partager