方法一,使用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;
|