将字节数组转换为 tagVARIANT 数组

Posted

技术标签:

【中文标题】将字节数组转换为 tagVARIANT 数组【英文标题】:Converting an array of Bytes to a tagVARIANT array 【发布时间】:2021-07-06 09:51:00 【问题描述】:

我目前正在 Visual Studio 中开发 C++ 命令行应用程序。但目前我在某个时候卡住了:

我有一个字节数组,包含 3 个元素:

byte arr [3] = 0x0A, 0xFF, 0xBF

现在我想把这个数组赋给一个函数。但是在构建时出现以下错误:

“无法从 byte[3] 转换为 VARIANT。”

那么任何人都可以提供一个简单的示例,可以使用 Visual Studio 在 C++ 中完成。

感谢您的帮助。

【问题讨论】:

【参考方案1】:

存在 C++ 类型,但此列表中缺少类型 bytehttps://en.cppreference.com/w/cpp/language/types 有一个关于如何在 COM 中使用数组的链接https://www.codeguru.com/cpp/com-tech/activex/com/article.php/c2577/Using-COM-to-Pass-Arrays.htm 请注意,字节不是 C++ 类型,也不是 COM 类型。字节的 C++ 类型是 char 或 unsigned char。可能最适合字节的是COM类型是VT_UI1。还要检查类型 VT_ARRAY。您应该使用 SafeArray* 函数来处理 COM 数组。 您可以在此处找到有关使用 COM 类型的一些信息: http://www.roblocher.com/whitepapers/oletypes.html 还有这里Return Array of object from ATL ActiveX Control

【讨论】:

以上是关于将字节数组转换为 tagVARIANT 数组的主要内容,如果未能解决你的问题,请参考以下文章

将 ctype 字节数组转换为字节

C 字节数组转换成字符串

将字节数组转换为字符串时的格式更改

将包含十六进制值的字节数组转换为十进制值

VB.net 如何将bytes()字节数组转换到short型数组?

Java题目:编写程序,将一个字符串转为字节数组输入流。转换为大写字母输出。