Tôi đã tải xuống dữ liệu đánh dấu Dukascopy và tôi đã giải nén nó bằng thư viện easylzma. Bản gốc nén tập tin nhị phân là EURUSD/2010/00/08/12h_ticks.bi5 (EURUSD/2010/ian/8/12h) Sau khi giải nén chúng ta có định dạng sau:Đọc dữ liệu từ Dukascopy đánh dấu tệp nhị phân
+-------------------------+--------+-------+
| time | Bid | Ask |
+-------------------------+--------+-------+
000003CA 00022EC0 00022EB6 40CCCCCD 41180000
000004F5 00022EB6 00022EB1 4099999A 404CCCCD
(Bạn có thể tải tập tin ban đầu nén từ:. EURUSD/2010/00/08/12h_ticks.bi5 Sau khi giải nén nó với LZMA chúng tôi nhận được tập tin: 12h_ticks)
Đọc các tập tin nhị phân:
int ii1;
int ii2;
int ii3;
float ff1;
float ff2;
ifstream in("12h_ticks",ofstream::binary);
in.read((char*)(&ii1), sizeof(int));
in.read((char*)(&ii2), sizeof(int));
in.read((char*)(&ii3), sizeof(int));
in.read((char*)(&ff1), sizeof(float));
in.read((char*)(&ff2), sizeof(float));
std::cout << " ii1=" << ii1 << std::endl;
std::cout << " ii2=" << ii2 << std::endl;
std::cout << " ii3=" << ii3 << std::endl;
std::cout << " ff1=" << ff1 << std::endl;
std::cout << " ff2=" << ff2 << std::endl;
in.close();
tôi nhận được fo kết quả llowing:
ii1=-905773056
ii2=-1070726656
ii3=-1238498816
ff1=-4.29492e+08
ff2=8.70066e-42
Điều gì là sai? Tôi không thể đọc dữ liệu từ tệp nhị phân. Làm ơn giúp tôi.
Chỉ cần tò mò , Bạn đã tìm ra định dạng tệp như thế nào? – user3833308