Ciao a tutti,
non mi è molto chiaro come lavorare con i file binari in C++.
Io vorrei scrivere su di un file una struttura, ma per imparare ho iniziato scrivendo una variabile di tipo int.
Ecco come la scrivo:
codice:
ofstream file;
file.open(temp.attuale, ios::binary);
...
char tipo = (char)temp.type; // temp.type = int
string t = tipo;
/* utilizzo la variabile t per avere la lunghezza della stringa in quanto se uso
la funzione strlen il programma va in crash... non so il perchè*/
file.write(tipo, t.size());
file.close();
Poi per leggerlo ho scritto questo codice:
codice:
ifstream file;
char *type;
int len;
file.open(temp.attuale, ios::binary);
file.seekg(0, ios::end);
len = file.tellg();
file.seekg(0, ios::beg);
type = new char[len];
file.read(type, len);
file.close();
Il risultato è una sequenza di caratteri invece del numero desiderato. Come mai? dove sbaglio?