Je suis en train de convertir un wchar_t *
en BSTR
.C++: Convertit wchar_t * en BSTR?
#include <iostream>
#include <atlstr.h>
using namespace std;
int main()
{
wchar_t* pwsz = L"foo";
BSTR bstr(pwsz);
cout << SysStringLen(bstr) << endl;
getchar();
}
Cette imprime 0
, qui est inférieur à ce que je l'avais espéré. Quelle est la bonne façon de faire cette conversion?
'CString' n'a pas _wrap_ a' BSTR', bien qu'il ait une méthode pour allouer un 'BSTR' à partir d'un' CString' ('.AllocSysString()'). Cependant, CString n'aide pas à la libération automatique d'un BSTR. –
bien dans un sens il enveloppe la fonctionnalité de convertir en un BSTR qui était ce que l'OP voulait, mais techniquement vous avez raison, donc mon choix de mots n'était pas correct. –