将 char *
值转换为 BSTR
VS提供的编译器 COM 全局函数有相关API,此处仅以记录,方便查阅。
Header: <comutil.h>
Lib: comsuppw.lib or comsuppwd.lib
将 BSTR
值转换为 char *:
ConvertBSTRToString
// ConvertBSTRToString.cpp
#include <comutil.h>
#include <stdio.h>
#pragma comment(lib, "comsuppw.lib")
int main() {
BSTR bstrText = ::SysAllocString(L"Test");
wprintf_s(L"BSTR text: %s\n", bstrText);
char* lpszText2 = _com_util::ConvertBSTRToString(bstrText);
printf_s("char * text: %s\n", lpszText2);
SysFreeString(bstrText);
delete[] lpszText2;
}
BSTR text: Test
char * text: Test
将 char *
值转换为 BSTR
:ConvertStringToBSTR
// ConvertStringToBSTR.cpp
#inc