如何将返回类型字符串的数据复制到C++中

how to copy data of return type string to C++?

本文关键字:复制 C++ 数据 返回类型 字符串      更新时间:2023-10-16

我有一个com对象函数,它具有字符串的C#返回类型

string getData();

在我的C++代码中,我有

cpi->getData(); 

其中cpi是指向com对象实例的指针。

如何在C++变量中获取返回的数据?

---编辑---

我还有一个叫做handlepacket(char* data)的函数。

如何将此cpi->getData返回的字符串数据传递给此函数?

一段C++代码将非常有帮助。

COM字符串类型为BSTR。它具有非琐碎的内存管理规则。幸运的是,_bstr_tC++类封装了BSTR,并为您提供了合理的语义。因此,_bstr_t foo = cpi->getData();是最简单的方法。

您可以将此字符串传递给handlepacket(wchar_t* data)。COM字符串类型是Unicode文本,而不是8位数据。如果getData函数返回8位数据,那么它应该返回一个字节数组。