Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2018
    Messaggi
    1

    [C++]Input da file , con read.

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

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    In quel modo si leggono i file binari non quelli di testo e comunque è inutile quel new ifstream quando puoi usare direttamente:
    codice:
    ifstream ifi(name.c_str());
    senza lasciare memory leaks ovunque.
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.