Salve a tutti,
sto cercando di sviluppare dei semplici esercizi sui file binari in C++.
Quando creo il file e scrivo anche un semplice intero, aprendo il file mi ritrovo caratteri strani. Credo sia dovuto al fatto che questi file (a differenza di quelli di testo) sono come un flusso continuo di bit. E' questa la motivazione per cui aprendo il file leggo solo caratteri strani? Sinceramente ho dei dubbi perché poi facendo una read e stampando a video il contenuto, comunque mi vengono visualizzati numeri strani.
Vi posto il codice di un banale programmino, perché mi sa che sbaglio qualcosa sintatticamente.
Grazie mille
codice:
#include <iostream>#include <fstream>
using namespace std;
fstream prova;
main(){
int numero,n;
prova.open("prova.dat", ios::in|ios::out|ios::app|ios::binary);
if (prova.fail()){
cout<< "Errore apertura file"<<endl;
}
cout<<"digita numero: ";
cin>>numero;
prova.write((char*)&numero, sizeof(numero));
prova.read((char *) &n, sizeof(int));
cout<<"n= "<<n;
prova.close();
}