Ciao, sto cercando di leggere un file ,che contiene numeri DECIMALI, con il read, in un modo un po' insolito perch� dovr� farlo fare ad una classe.
Non capisco perch� non funziona (nel file ci sono 3 numeri , 1 2 3 ) e il programma mi restituisce tutt' altro: 171051569 3.65879e-42 0.
Dove sbaglio??
codice:
#include <iostream>
#include <fstream>
#include<string>
using namespace std;
int main (int argc, char* argv[]) {
const string& name = "prova.txt";
ifstream* ifi;
ifi = new ifstream( name.c_str());
cout<<name;
int j =0;// event id
if( ifi->read(reinterpret_cast<char*>( &j ),sizeof(j)) ) {/*se apre il file creo nuovo evento, altrimenti ritorno 0 */
float a,b;
a=b=0.0;
// event coordinates
ifi->read(reinterpret_cast<char*>( &a ),sizeof(a));
ifi->read(reinterpret_cast<char*>( &b ),sizeof(b));
cout<<j<<" "<<a<<" " <<b;}
return 0;
}