Есть текстовый файл 1.txt. Файл именно текстовый!
0500000052b89640
080000003e0aa740
0b0000002a5cb740
0e00000016aec740
110000000200d840
14000000ee51e840
17000000daa3f840
1a000000e37a0441
1d000000d9a30c41
20000000cfcc1441
И есть структура:
#pragma pack(push, 1)
typedef struct {
int a;
float b;
} structEx;
#pragma pack(pop)
Как правильно считать структуру в файл? Правильный ответ такой:
x.a x.b
5 4.7
8 5.2
11 5.7
14 6.2
17 6.7
20 7.2
23 7.7
26 8.2
29 8.7
32 9.2
Примерно так - кстати, первой строчки в ваших данных нет:
#include <vector>
#include <string>
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
#pragma pack(push, 1)
struct structEx
{
int a;
float b;
};
#pragma pack(pop)
vector<structEx> v;
int main(int argc, const char * argv[])
{
ifstream in("data");
string s;
while(getline(in,s))
{
structEx x;
unsigned char * a = reinterpret_cast<unsigned char *>(&x);
for(int i = 0; i < 8; ++i)
*(a+i) = stoi(s.substr(i*2,2),nullptr,16);
v.push_back(x);
}
for(auto x: v)
{
cout << setw(10) << x.a << setw(20) << x.b << endl;
}
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости