64,649
社区成员
发帖
与我相关
我的任务
分享
template<typename T>
inline T Read(T* x, std::ifstream* stream)
{
char buffer[sizeof(T)];
stream->read(buffer,sizeof(T));
T* p = (T*) buffer;
*x = *p;
return *x;
}
和一个struct
typedef struct fileHeader
{
uint32_t sign;
uint16_t W1;
uint32_t RecordCount;
uint16_t HeaderLength;
uint16_t RecordLength;
uint16_t FieldCount;
}FileHeader;
FileHeader s;
Read(&(s.sign),&myStream);
Read(&(s.W1 ),&myStream);
Read(&(s.RecordCount ),&myStream);
Read(&(s.HeaderLength ),&myStream);
Read(&(s.RecordLength ),&myStream);
Read(&(s.FieldCount ),&myStream);
FileHeader s;
Read(&s,&myStream);
#pragma pack(1)
typedef struct fileHeader
{
uint32_t sign;
uint16_t W1;
uint32_t RecordCount;
uint16_t HeaderLength;
uint16_t RecordLength;
uint16_t FieldCount;
}FileHeader;
#pragma pack()