方法一,使用ConvertBSTRToString。例如:
1
2
3
4
5
6
7
8
9
|
#include #pragma
comment(lib, "comsupp.lib") int
_tmain( int
argc, _TCHAR* argv[]){ BSTR
bstrText = ::SysAllocString(L "Test" ); char *
lpszText2 = _com_util::ConvertBSTRToString(bstrText); SysFreeString(bstrText);
//
用完释放 delete []
lpszText2; return
0; } |
方法二,使用_bstr_t的赋值运算符重载。例如:
1
2
|
_bstr_t
b = bstrText; char *
lpszText2 = b; |