您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關 如何實現cocos2d-x開發中wstring和string的轉換 ,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
cocos2d-x開發中漢字操作技術是必須要面對的,其中可能要用到wstring和string的相互轉換。我在網絡上搜索到的能夠應用于android
和WIN32(其他的平臺沒有試)環境下的漢字的可選方案是使用如下兩個函數:
wstring轉換為string代碼如下:
std::string ws2s(const std::wstring& ws) { string curLocale = setlocale(LC_ALL, NULL); setlocale(LC_ALL, "chs"); const wchar_t* _Source = ws.c_str(); size_t _Dsize = 2 * ws.size() + 1; char *_Dest = new char[_Dsize]; memset(_Dest,0,_Dsize); wcstombs(_Dest,_Source,_Dsize); std::string result = _Dest; delete []_Dest; setlocale(LC_ALL, curLocale.c_str()); return result; } string轉換為wstring: std::wstring s2ws(const std::string& s) { setlocale(LC_ALL, "chs"); const char* _Source = s.c_str(); size_t _Dsize = s.size() + 1; wchar_t *_Dest = new wchar_t[_Dsize]; wmemset(_Dest, 0, _Dsize); mbstowcs(_Dest,_Source,_Dsize); std::wstring result = _Dest; delete []_Dest; setlocale(LC_ALL, "C"); return result; } or string a = "xxxx"; wstring b(a.begin(), a.end());
以上就是 如何實現cocos2d-x開發中wstring和string的轉換 ,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。