16,550
社区成员
发帖
与我相关
我的任务
分享
typedef struct tagHeadExtensionObject //3.4
{
GUID Objectguid;
INT64 ObjectSize;
GUID ReservedField1;
WORD ReservedField2;
DWORD HeadExtenDataSize;
//BYTE HeadExtenData;
}HEADEXTENOBJECT, *PHEADEXTENOBJECT, FAR *LHEADEXTENOBJECT;
//-HEADEXTENOBJECT m_headExObject,BYTE strText[1024]已存储数据
memset(&m_headExObject, 0, 46);
//--下面5句我分个读取,数据正确
memcpy(&m_headExObject.Objectguid, strText+232, 16);
memcpy(&m_headExObject.ObjectSize, strText+248, 8);
memcpy(&m_headExObject.ReservedField1, strText+256, 16);
memcpy(&m_headExObject.ReservedField2, strText+272, 2);
memcpy(&m_headExObject.HeadExtenDataSize, strText+274, 4);
//--直接全部读取,最后一个字段m_headExObject.HeadExtenDataSize读取失败,变成0
memcpy(&m_headExObject, strText+232, 46);
#pragma pack(push, 1)
typedef struct tagHeadExtensionObject //3.4
{
GUID Objectguid;
INT64 ObjectSize;
GUID ReservedField1;
WORD ReservedField2;
DWORD HeadExtenDataSize;
//BYTE HeadExtenData;
}HEADEXTENOBJECT, *PHEADEXTENOBJECT, FAR *LHEADEXTENOBJECT;
#pragma pack(pop)