将CString转换为_bstr_t

时间:2018-11-29 03:10:48

标签: c++

我来自Java,所以我对C++中的许多类型的String感到困惑

我输入的函数为:

functionTest(_bstr_t *params) {...}

然后我有一个变量声明为:

CString paramsInput

如何将CString转换为_bstr_t以传递给函数?

2 个答案:

答案 0 :(得分:1)

CComBSTR具有重载的转换功能。

CString paramsInput;
ATL::CComBSTR bstr = paramsInput;

///或者,您可以将其作为ATL :: CComBSTR bstr(paramsInput);     functionTest(&bstr);

请注意,如果functionTest()测试将其param参数声明为out,则需要注意内存泄漏。有关如何处理的信息,请参见this

答案 1 :(得分:1)

假设您使用默认的UNICODE进行编译。

#include <atlbase.h>
#include <atlcom.h>
#include <atlstr.h>

CComBSTR bstrParamsInput(paramsInput);
functionTest(&bstrParamsInput);