在线求救!字符转换的问题
最近在eVC下使用CCeSocket接收一些数据,该数据是报文格式的,16进制字串,接收存储之后大致如下:
6E 67 00 96 BE 5F D8 76 84 66 2F 4F 60 76 84 5F AE 7B 11 FF 0C 5F 53 5B 83 7E FD 5F 00 57 28 4F 60 76 84 81 38 4E 0A 65 F6 FF 0C 62 11 4E FF 4F 5B 61 1F 52 30 62 C2 8F C7 4E 00 96 35 66 25 98 CE FF 0C 66 96 87 8D 87 8D 76 84 FF 0C 62 8A 62 11 76 84 5F C3 90 FD 6E B6 53 16 4E 86 30 02
执行语句如下:
BYTE* m_ReceiveBuf;
BYTE m_RecData[1024];
int nRead = Receive((char*)&m_RecData,1024);
m_ReceiveBuf = new BYTE[nRead];
for(int i=0;i<nRead;i++)
{
m_ReceiveBuf[i] = m_RecData[i];
m_pFile->Write((const void *)&m_RecData[i],1);
}
我试过使用TCHAR接收字符,但是不正确,使用
CString szTemp(m_ReceiveBuf)
也不能正确获得该字符串。
现在需要将接收到的数据与指定的串(格式同上)进行比较,
如与
BYTE Data[10] = {0x21,0x00,0x00,0x45,0xB1}比较,
怎样将BYTE*转换成CString,或者是使用什么方法直接比较,请指点!
问题点数:50、回复次数:3Top
1 楼Mr_Ldh(__int64 milliseconds)回复于 2003-09-03 21:03:32 得分 10
用BYTE直接比较不就行了?Top
2 楼GabrielLI(加布里埃儿)回复于 2003-09-08 20:05:45 得分 0
wcscmp :)Top
3 楼ahusd(阿胡)回复于 2003-09-08 20:15:28 得分 40
Unicode和ANSI之间的转换函数是
MultiByteToWideChar(ANSI covert to Unicode)
WideCharToMultiByte(Unicode conver to ANSI)
具体的使用方法我就不举例了,你看一下eVC的Help或者MSDN Library或访问MSDN Online查看最新文档。Top




