中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現cocos2d-x開發中wstring和string的轉換

發布時間:2021-11-11 09:31:36 來源:億速云 閱讀:127 作者:柒染 欄目:游戲開發

本篇文章給大家分享的是有關 如何實現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的轉換 ,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

林周县| 临沭县| 永登县| 临沂市| 汝南县| 高清| 周至县| 田阳县| 大悟县| 叙永县| 买车| 正定县| 会东县| 孝昌县| 东安县| 亳州市| 邵武市| 墨玉县| 绵阳市| 九龙坡区| 临清市| 永州市| 凤冈县| 巴马| 太保市| 和田市| 红河县| 江达县| 肇庆市| 虞城县| 嘉定区| 保德县| 通道| 石柱| 衡南县| 东辽县| 郓城县| 达尔| 微山县| 汾阳市| 长顺县|