Sto provando a convertire un wchar_t *
in BSTR
.C++: converte wchar_t * in BSTR?
#include <iostream>
#include <atlstr.h>
using namespace std;
int main()
{
wchar_t* pwsz = L"foo";
BSTR bstr(pwsz);
cout << SysStringLen(bstr) << endl;
getchar();
}
Questo stampa 0
, che è meno di quello che avevo sperato. Qual è il modo corretto di fare questa conversione?
'CString' non esegue _wrap_ un' BSTR', sebbene abbia un metodo per allocare un 'BSTR' da un' CString' ('.AllocSysString()'). 'CString' non aiuta tuttavia a liberare automaticamente un' BSTR'. –
beh in un certo senso avvolge la funzionalità per convertire in un BSTR che era ciò che l'OP voleva, ma tecnicamente sei corretto, quindi la mia scelta delle parole non era giusta. –