QString
을 BSTR
으로, 그 반대로 변환하고 싶습니다.QString을 BSTR로 변환하고 그 반대의 경우
std::wstring str_ = QString("some texts").toStdWString();
BSTR bstr_ = str_.c_str();
및 BSTR
QString
로 변환 :
BSTR bstr_;
wchar_t *str_ = bstr_;
QString qstring_ = QString::fromWCharArray(str_);
이 맞
이 내가 QString
BSTR
로 변환하려고 무엇인가? 즉, 데이터가 손실됩니까? 그렇다면 올바른 해결책은 무엇입니까?
내가 오류 C2664을 얻을 : 'QString :: fromUtf16' – parsley72
포함 문제 일 수 있습니다.을 포함 해보세요. –
아니요, 포함 문제가 아닙니다. http://stackoverflow.com/questions/2395514/is-wchar-t-just-a-typedef-of-unsigned-short -'wchar_t' 포인터 (BSTR typedef)를'ushort' 포인터로 캐스팅해야합니다. QString :: fromUtf16' 기대. 그러나 일부 플랫폼에서는 wchar_t가 ushort보다 오래있을 수 있습니다. 이는 문제를 일으킬 수 있습니다. –