我正在使用 Comm32(一个 activeX 控件)通过 GetInput() 方法获取来自串行端口的数据。这个方法返回一个_variant_t,所以我需要把它转换成一个无符号字符数组。
当串行端口配置为 TextMode(这是数据输入被解释为字符串)时,将 Variant 转换为 BSTR,然后转换为 CString 按预期工作(代码不是我编写的):
_variant_t x = m_comm32.GetInput();
CString cs = x.bstrVal;
但是,由于通过串口发送的数据实际上是二进制数据,当配置 comm32 将数据解释为二进制时,上面的示例代码并没有给我有效的数据。所以我想我需要将它转换为另一种格式(也许是无符号字符数组?这是我想测试的东西)。
我的问题是我快疯了,因为我找不到任何关于如何从 VARIANT 结构转换数据的详细信息。如何将变体转换为无符号字符数组?