मैं wchar_t *
से BSTR
को बदलने की कोशिश कर रहा हूं।सी ++: 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
प्रिंट, जो मैं क्या आशा व्यक्त की थी की तुलना में कम है। इस रूपांतरण को करने का सही तरीका क्या है?
'सीएसटींग'' bSTR' _wrap_ नहीं करता है, हालांकि इसमें 'CSSTRring' ('AllocSysString()') से 'BSTR' आवंटित करने की विधि है)। 'सीएसटींग'' हालांकि, 'BSTR' की स्वत: मुक्त करने में सहायता नहीं करता है। –
अच्छी तरह से यह एक बीएसआर में परिवर्तित करने की कार्यक्षमता को लपेटता है जो ओपी चाहता था, लेकिन तकनीकी रूप से आप सही हैं इसलिए शब्दों की मेरी पसंद सही नहीं थी। –