将变体转换为无符号字符数组
convert VARIANT to unsigned char array
我正在使用Comm32(一个activeX控件)使用方法GetInput()获取通过串行端口的数据。此方法返回一个_variant_t,因此我需要将其转换为无符号字符数组。
当串行端口配置为文本模式(这是数据输入被解释为字符串)时,将变体转换为 BSTR,然后转换为 CString 按预期工作(代码不是我编写的):
_variant_t x = m_comm32.GetInput();
CString cs = x.bstrVal;
但是,由于通过串行端口发送的数据实际上是二进制数据,因此在配置 comm32 将数据解释为二进制时,上面的示例代码不会给我有效数据。所以我认为我需要将其转换为另一种格式(也许是无符号字符数组?这就是我想测试的某种东西)。
我的问题是我变得疯狂,因为我找不到有关如何从 VARIANT 结构转换数据的任何详细信息。如何将变体转换为无符号字符数组?
属性确定使用 Input 属性检索的数据类型。如果 InputMode 设置为 comInputModeText,则 Input 属性返回 Variant 中的文本数据。如果 InputMode 是 comInputModeBinary,则 Input 属性在 Variant 中的字节数组中返回二进制数据。(来自MSDN)
若要了解如何从安全数组获取数据,请参阅示例 sample1 或 sample2
相关文章:
- 从矢量<无符号字符>转换为字符* 包括垃圾数据
- C++中无符号字符溢出
- 使用无符号字符数组有效存储内存
- 在 std::无符号字符的向量处存储 int 的十六进制表示形式
- 如何在保持其值的同时将 c++ 无符号字符变量转换为 char 变量
- 从 std::vector<无符号字符>切片中提取 int?
- 将无符号字符的向量存储在数组中会给我 std::bad_alloc
- 使用 fopen 打开 .pak 文件并使该文件应用于 const 无符号字符* (C++)
- 库特无符号字符
- 寻找一种更好的方法来表示无符号字符数组
- C++ 无符号字符 *{varName};-> C#
- 如何返回/复制unique_ptr<无符号字符[]>的值?
- 将浮点数转换为无符号字符数组并打印出来
- 在函数中返回无符号字符数组,但不返回指针
- 如何在 C/C++ 中将无符号字符*转换为无符号字符数组?
- 如何返回实际值(在我的例子中是无符号字符数组)而不是来自 C++ 函数的指针?
- 如何将带有十六进制值的 std::string 转换为 std::vector<无符号字符>
- 无符号字符打印其 ASCII 值
- 字符数组到无符号字符 *
- 是否可以在 c++ 中将两位数保存在无符号字符中