内存映射文件,怎么读取文件中的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
等等。