Ich versuche, eine wchar_t *
zu BSTR
zu konvertieren.C++: wchar_t * in BSTR konvertieren?
#include <iostream>
#include <atlstr.h>
using namespace std;
int main()
{
wchar_t* pwsz = L"foo";
BSTR bstr(pwsz);
cout << SysStringLen(bstr) << endl;
getchar();
}
Dieser druckt 0
, das ist weniger als das, was ich gehofft hatte. Was ist der richtige Weg für diese Konvertierung?
'CString' _wrap_ keinen' BSTR', obwohl es ein Verfahren, hat eine '' BSTR' aus einem CString' ('.AllocSysString()') zuzuteilen. 'CString' hilft jedoch nicht beim automatischen Freigeben eines' BSTR'. –
gut in einem Sinne wickelt die Funktionalität zu einem BSTR konvertieren, was das OP wollte, aber technisch sind Sie richtig, so war meine Wahl der Wörter nicht richtig. –