Я пытаюсь преобразовать wchar_t *
в BSTR
.C++: конвертировать wchar_t * в BSTR?
#include <iostream>
#include <atlstr.h>
using namespace std;
int main()
{
wchar_t* pwsz = L"foo";
BSTR bstr(pwsz);
cout << SysStringLen(bstr) << endl;
getchar();
}
Печатается 0
, что меньше, чем я надеялся. Каков правильный способ сделать это преобразование?
'CString' не _wrap_ a' BSTR', хотя он имеет метод выделения 'BSTR' из' CString' ('.AllocSysString()'). Однако 'CString' не помогает с автоматическим освобождением' BSTR'. –
ну, в некотором смысле, он обертывает функциональность, чтобы преобразовать в BSTR, чего хотел OP, но технически вы правы, поэтому мой выбор слов был неправильным. –