我试图将BSTR字符串转换为Hex BYTE *
我收到COM作为BSTR的回复
我的RAW方法在tlh
virtual HRESULT __stdcall test(
/*[in]*/ BSTR domain,
/*[in]*/ BSTR snap,
/*[out,retval]*/ BSTR * pRetVal ) = 0;
BSTR aa = L“559EB7F000260044F06BB01A3A000055”;
我想将其转换为BYTE myHex [16]
示例回复 {0x55,0x97,0xD6,0x00,0x02,0x60,0x01,0x44,0xF0,0x6B,0xB0,0x1A,0x3A,0x00,0x00,0x55};
答案 0 :(得分:1)
一种方法是使用swscanf
。你也可以通过字符串流来完成。
#include <cstdio>
...
for (int i = 0; i < 16; ++i)
{
if ( 1 != std::swscanf(aa + 2 * i, L"%02X", myHex + i) )
throw std::runtime_error("Conversion failure");
}