Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [C++] File binario (2a parte;))

    Ciao a tutti,
    ho ancora dei problemi con il mio programmino per leggere le temperature da un file binario. Il file ê composto nel seguente modo:

    codice:
    |               <int>           |       <float>         |
    |Giorno | Mese   |     Anno     |     Temperatura       |
    | Byte0 |  Byte1 | Byte2 | Byte3|Byte4|Byte5|Byte6|Byte7|
    Come faccio a estrarre il valore della prima coppia data / temperatura da questo file?
    La mia soluzione era la seguente, ma mi vengono dei dati molto strani che nn corrispondono ai valori giusti.

    codice:
    	ifstream fin(file_name.c_str(),ios_base::in |ios_base::binary);
    	fin.seekg(0);
    	char day[1];
    	char month[1];
    	char year[1];
    	char year1[1];
    	char value[4];
    
    	fin.read(day,1);
    	fin.seekg(1);
    	fin.read(month,1);
    	fin.seekg(2);
    	fin.read(year,1);
    		fin.seekg(3);
    	fin.read(year1,1);
    			fin.seekg(4);
    	fin.read(value,4);
    	fin.close();
    	
    	cout << (int)*day << " " << (int)*month << " " << (int)*year << (int)*year1 << (float)value;
    }
    Grazie a tutti
    http://www.newsol.ch
    "I'm so sorry"
    Mario Corti, CEO Swissair, 2 Ottobre 2001
    La crisi della società Swissair è culminata con il "grounding" dell’intera flotta aerea nei primi giorni del mese di ottobre 2001.

  2. #2
    Utente di HTML.it L'avatar di newbie
    Registrato dal
    Dec 2005
    Messaggi
    299
    Prova così

    codice:
    ifstream fin(file_name.c_str(),ios_base::in | ios_base::binary);
    char day;
    char month;
    char year;
    char year1;
    float value;
    
    fin >> day;
    fin >> month;
    fin >> year;
    fin >> year1;
    fin >> value;
    fin.close();
    	
    cout << (int)day << " " << (int)month << " " << (int)year << (int)year1 << value;
    Magari potresti salvare year e year1 come un unico valore short

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 © 2025 vBulletin Solutions, Inc. All rights reserved.