#include #include #include using namespace std; typedef unsigned char byte; struct obs { short int year; byte month, day; short int mint, avgt, maxt, prec; }; int main() { if (sizeof(obs) != 12) { cerr << "Sizeof obs unexpected value " << sizeof(obs) << "\n"; exit(1); } ifstream fin("/home/www/class/een118/labs/weather/MIAMI-FL.txt"); ofstream fout("obs.dat", ios::out | ios::trunc | ios::binary); if (fin.fail() || fout.fail()) { cerr << "file trouble\n"; exit(1); } int year, month, day, ignore; double mint, avgt, maxt, prec; while (true) { fin >> year >> month >> day >> mint >> avgt >> maxt >> ignore >> ignore >> prec; if (fin.fail()) break; obs o; o.year = year; o.month = month; o.day = day; o.mint = 10 * mint; o.avgt = 10 * avgt; o.maxt = 10 * maxt; o.prec = 10 * prec; fout.write((char *)& o, sizeof(o)); } fout.close(); fin.close(); }