Я вижу, как это сделать с помощью MFC, но как лучше всего преобразовать LPSTR в BSTR в C ++, используя только библиотеки win32.
#include <comutil.h> LPSTR myLpstr = "Hello World!"; _bstr_t bstr = _bstr_T(myLpstr);
Также нужна библиотека comsupp.lib
Использовать SysAllocString .
Обратите внимание, что SysAllocString принимает аргумент OLECHAR*, который фактически является WCHAR*, а не CHAR*.Это не должно быть проблемой, если вы не компилируете без UNICODE, но не делайте этого.
OLECHAR*
WCHAR*
CHAR*
UNICODE
Не знаю конкретного решения, но я думаю, что это поможет вам (особенно часть II):
Полное руководство по строкам C ++, часть I - Кодировки символов Win32
Полное руководство по строкам C ++, часть II - Классы обёрток строк