以下是我尝试过的,但没有用.
std::wstring = L"Text";
USES_CONVERSION;
LPOLESTR lpDesc = W2OLE((LPWSTR)wsDescr.c_str());
Run Code Online (Sandbox Code Playgroud)
请任何一个人说什么是更好的方法?
小智 8
LPOLESTR是一个OLECHAR基本上是一串wchar_t.因此LPOLESTR是空终止的wchar_t*.LPOLESTR是typedef由Microsoft创建的.这些是Microsoft在MFC 4.0之前使用并自此放弃的自动ANSI/Unicode转换方案的痕迹.对于Win32开发,"OLE"对应于Unicode.例如,在Win32开发中,a OLECHAR只是a wchar_t而a LPOLESTR是宽字符串(例如wchar_t*).
要从wstring一个wchar_t字符数组构建它是直截了当的 -
wchar_t* Array = L"Hello";
std::wstring strArray(Array);
Run Code Online (Sandbox Code Playgroud)
要将另一个方向从wstring转换为wchar_t*,你可以这样做 -
wstring wstr = L"Test wstring";
const wchar_t *pwstr = wstr.c_str();
Run Code Online (Sandbox Code Playgroud)
你也可以尝试这个,
LPOLESTR tempString = W2OLE((wchar_t*)wstring_temp.c_str());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7435 次 |
| 最近记录: |