怎样转换C语言的结构类型(内含联合类型) (100分)

  • 主题发起人 蔡前进
  • 开始时间

蔡前进

Unregistered / Unconfirmed
GUEST, unregistred user!
typedef struct tagRCV_FILE_HEADEx
{
DWORD m_dwAttrib; // 文件子类型
DWORD m_dwLen; // 文件长度
union
{
DWORD m_dwSerialNo; // 序列号,对股评
time_t m_FileTime; // 文件创建时间
};
char m_szFileName[MAX_PATH]; // 文件名 or URL
} RCV_FILE_HEADEx,*PRCV_FILE_HEADEx;[/b]
如何将以上结构转换成pascal的数据结构类型,对方(动态连接库)以如上方式存取数据在内存中
我必须以这个结构从内存中读取数据,头痛死了,谁能帮我?????????????
 
用packed record不知道可不可以,另外time_t是什么类型啊.
 
Type time_t=longint;
AuxRecord=Record
case integer of
0:
(m_dwSerialNo:DWORD);
1:
(m_FileTime:time_t);
end;
RCV_FILE_HEADEx=Record
m_dwAttrib:DWORD;
m_dwLen:DWORD;
AUX:AUXRecord;
m_szFileName:array[0..MAX_PATH-1] of char;
end;

倘若是紧缩格式,把record改为packed Record
 
DWORD 类型在Delphi中好像没有,相对应的有Cardinal和LongWord
 
顶部