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; }

Rispondi quotando