#pragma pack(1)struct s{.....................};#pragma pack()
#pragma pack(1) // эти прагмы указывают под виндами компилятору что данные в структуре item надо подравнять по одному байту, если их нет по умолчанию это будет двойное слово struct item{ char c;........};#pragma pack()#include <fstream>void getStruct(char *name, item *it){ std::fstream fs( name, std::ios::binary | std::ios::in); if( !fs.is_open()) return; fs.read((char *)it, sizeof(item)); // ну и все, можно конечно закрыть и проверить состояние потока обработать исключения но это уже совсем другая песня :)}