如题:
CFileMapping fileMapp; bool mResult = fileMapp.OpenFileMapping("E:\\HZPY.dbf");
PSTR pchANSI =(PSTR)fileMapp.m_pViewOfFile;CFileMapping 为自定义类,其实就是将那几个函数封装了一下,
返回的pchANSI即为映射视图指针(或者称为数组吧,我也不知道该怎么称才好),
其中pchANSI[4]--pchANSI[7] 代表一个int 型数字(4个字节),均是以16进制存储。
请问怎样将这个数字读出来?比如读出来是数字 5828
CFileMapping fileMapp; bool mResult = fileMapp.OpenFileMapping("E:\\HZPY.dbf");
PSTR pchANSI =(PSTR)fileMapp.m_pViewOfFile;CFileMapping 为自定义类,其实就是将那几个函数封装了一下,
返回的pchANSI即为映射视图指针(或者称为数组吧,我也不知道该怎么称才好),
其中pchANSI[4]--pchANSI[7] 代表一个int 型数字(4个字节),均是以16进制存储。
请问怎样将这个数字读出来?比如读出来是数字 5828
假如:pchANSI[4] 8A
pchANSI[5] E3
pchANSI[6] 02
pchANSI[4] 2A
一起表示一个整数。
如果仍然没说清楚请留言,谢谢。
#define bytetoint(a,b,c,d) ((d)+((c)<<8)+((b)<<16)+((a)<<24))
UINT i=bytetoint(strtol(pchANSI[4],NULL,16),strtol(pchANSI[5],NULL,16),strtol(pchANSI[6],NULL,16),strtol(pchANSI[7],NULL,16))