PDA

Visualizza la versione completa : [C++] Estrarre dati da file binario


tv9vision
12-01-2006, 16:47
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:



| <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.



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

newbie
19-01-2006, 10:40
Prova cosė



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

Loading