Bonjour!
Voila, j'ai un petit soucis...
Je voudrai faire une fonction d'ecriture et de lecture qui puissent fonctionner que ce soit en mode binaire ou en mode txt.
J'ai l'impression que l'operateur << ne marche pas en mode binaire, je me trompe?
Voici mon code d'ecriture pour le text et le binaire :
N'y a t'il pas un moyen de n'avoir qu'une seule fonction?
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 */ void maClasse::writeTextFile (vector<string> vParameters) { ifstream _fWrite: _fWrite.open ("monfichier", ios::out) ; for (unsigned int i = 0 ; i < vParameters.size() ; i++) { _fWrite << vParameters[i] << "\t" ; } _fWrite << endl ; } template<typename T> std::ostream& write(std::ostream& os, const T& value) { return os.write(reinterpret_cast<const char*>(&value), sizeof(T)); } void maClasse::writeBinaryFile (vector<string> vParameters) { ifstream _fWrite: _fWrite.open ("monfichier", ios::out|ios::binary) ; for (unsigned int i = 0 ; i < vParameters.size(); i++) { string value = vParameters[i] ; write (_fWrite, value) ; } }
Maintenant la lecture...
Pour lire du texte, pas de soucis.
Par contre, je n'arrive pas a lire mon fichier binaire et a recuperer les strings que j'ai ecris...
Voila mon code :
Avez vous une idee ? peut on lire des string en binaire?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 void maClasse::readBinaryFile (vector<string> &vParameters) { ifstream _fRead ; _fRead.open ("monfichier", ios::in|ios::binary) ; string buffer = ""; while (!_fRead.eof()) { _fRead.read(reinterpret_cast<char*>(&buffer), sizeof(string)); } }
Merci!!
Partager