读书人

内存映射文件如何读取文件中的16进制

发布时间: 2012-06-06 16:44:11 作者: rapoo

内存映射文件,怎么读取文件中的16进制数到数组中
我用TCHAR * pvFile = (TCHAR *)MapViewOfFile(hMapFile,FILE_MAP_READ,0,0,0);得到映射文件的指针,文件中的数据格式如下:
EB 09 AA F5 F3 ……
怎么才能把EB当做0xEB,09当做0x09……存在一个数组里面呢

刚开始接触内存映射,请大神指教

[解决办法]
"怎么才能把EB当做0xEB"
'E'变成14*16+‘B'变成11=0xEB。
//
int HexValue(unsigned char a)
{
a -= 48;
if(a > 9 ) a -= 7;
return a;
}

BYTE val=HexValue('E')*16+HexValue('B').

[解决办法]
思路不会大变,做法可以优化。如查表(0。。F)对应数0。。15
等等。

读书人网 >VC/MFC

热点推荐