23得票5回答
如何将char *转换为BSTR?

我该如何将来自C dll的char*传递给VB? 这是示例代码:void Cfunc(char *buffer,int len) { BSTR buf_bstr = SysAllocString((BSTR)buffer); VBptr.VBfunc(buf_bstr,len); }...

21得票5回答
为什么C#/.NET字符串是长度前缀和空终止的?

在阅读了What's the rationale for null terminated strings?和一些类似的问题后,我发现在C#/.NET中字符串内部既是带长度前缀又是以空字符结尾,就像BSTR数据类型一样。为什么字符串既要带长度前缀又要以空字符结尾而不是只带长度前缀呢?

14得票1回答
将BSTR转换为char*

有人知道如何将BSTR转换为char*吗? 更新:我尝试了这样做,但不知道是否正确。char *p= _com_util::ConvertBSTRToString(URL->bstrVal); strcpy(testDest,p );

14得票5回答
如何将 _bstr_t 转换为 CString。

我有一个_bstr_t变量bstrErr和一个CString变量csError。我应该如何将bstrErr中的值设置为csError中的值?

13得票4回答
检测传递wchar_t*到BSTR的静态代码分析

由于 BSTR 只是 wchar_t* 的一个 typedef,我们的代码库中有很多地方将字符串字面值传递给期望 BSTR 的方法,这可能会影响到编组器或任何试图使用任何 BSTR 特定方法(如 SysStringLen)的人。 有没有办法静态检测此类误用? 我尝试使用 VC10 /Wal...

11得票4回答
如何将std::string转换为BSTR*?

你如何将一个std::string转换为BSTR*?STDMETHODIMP CMyRESTApp::rest(BSTR data, BSTR* restr) { RESTClient restclient; RESTClient::response resp = restcl...

11得票6回答
使用 _bstr_t 将 BSTR* 类型的参数传递给函数

这应该怎么正确地做:_bstr_t description; errorInfo->GetDescription( &description.GetBSTR() ); 或:_bstr_t description; errorInfo->GetDescription( des...

10得票3回答
如何最佳地将CString转换为BSTR以将其作为“in”参数传递到COM方法中?

我需要将一个CString实例转换成适当分配的BSTR,并将该BSTR传递给COM方法。为了编译并在ANSI和Unicode之间工作,我使用CString::AllocSysString()将任何格式的CString转换为Unicode BSTR。 由于没有人拥有返回的BSTR,我需要以最少...

10得票2回答
空BSTR和NULL BSTR之间应该有区别吗?

在维护COM接口时,空的BSTR是否应与NULL处理方式相同?换句话说,这两个函数调用是否会产生相同的结果? // Empty BSTR CComBSTR empty(L""); // Or SysAllocString(L"") someObj->Foo(empty); // ...

9得票3回答
_bstr_t 转换为 UTF-8 可行吗?

我有一个包含日语文本的_bstr_t字符串。我想将此字符串转换为UTF-8字符串,该字符串定义为char *。 我能否将_bstr_t字符串转换为char *(UTF-8)字符串而不丢失日语字符?