最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++寬字符與普通字符的轉換實例詳解

 更新時間:2017年06月15日 10:45:13   投稿:lqh  
這篇文章主要介紹了C++寬字符與普通字符的轉換實例詳解的相關資料,需要的朋友可以參考下

C++寬字符與普通字符的轉換實例詳解

把字符串轉換成寬字符串,

實例代碼:

wstring string2Wstring(string sToMatch) 
{   
#ifdef _A_WIN 
  int iWLen = MultiByteToWideChar( CP_ACP, 0, sToMatch.c_str(), sToMatch.size(), 0, 0 ); // 計算轉換后寬字符串的長度。(不包含字符串結束符) 
  wchar_t *lpwsz = new wchar_t [iWLen + 1]; 
  MultiByteToWideChar( CP_ACP, 0, sToMatch.c_str(), sToMatch.size(), lpwsz, iWLen ); // 正式轉換。 
  lpwsz[iWLen] = L'/0';  
  wstring wsToMatch(lpwsz); 
  delete []lpwsz; 
#elif _A_LINUX 
  setlocale( LC_CTYPE, "" ); // 很重要,沒有這一句,轉換會失敗。 
  int iWLen = mbstowcs( NULL, sToMatch.c_str(), sToMatch.length() ); // 計算轉換后寬字符串的長度。(不包含字符串結束符) 
  wchar_t *lpwsz = new wchar_t[iWLen + 1]; 
  int i = mbstowcs( lpwsz, sToMatch.c_str(), sToMatch.length() ); // 轉換。(轉換后的字符串有結束符) 
  wstring wsToMatch(lpwsz); 
  delete []lpwsz; 
#endif 
  return wsToMatch; 
} 
//把寬字符串轉換成字符串,輸出使用 
string wstring2string(wstring sToMatch) 
{   
#ifdef _A_WIN 
  string sResult; 
  int iLen = WideCharToMultiByte( CP_ACP, NULL, sToMatch.c_str(), -1, NULL, 0, NULL, FALSE ); // 計算轉換后字符串的長度。(包含字符串結束符) 
  char *lpsz = new char[iLen]; 
  WideCharToMultiByte( CP_OEMCP, NULL, sToMatch.c_str(), -1, lpsz, iLen, NULL, FALSE); // 正式轉換。 
  sResult.assign( lpsz, iLen - 1 ); // 對string對象進行賦值。 
  delete []lpsz; 
#elif _A_LINUX 
  int iLen = wcstombs( NULL, sToMatch.c_str(), 0 ); // 計算轉換后字符串的長度。(不包含字符串結束符) 
  char *lpsz = new char[iLen + 1]; 
  int i = wcstombs( lpsz, sToMatch.c_str(), iLen ); // 轉換。(沒有結束符) 
  lpsz[iLen] = '/0'; 
  string sResult(lpsz); 
  delete []lpsz; 
#endif 
  return sResult; 
} 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • C++中命名空間的概念及使用詳解

    C++中命名空間的概念及使用詳解

    這篇文章主要介紹了C++中命名空間的概念及使用詳解,使用命名空間的目的是對標識符的名稱進行本地化,以避免命名沖突或名字污染,namespace關鍵字就是針對這種問題而出現(xiàn)的,需要的朋友可以參考下
    2023-08-08
  • C語言在屏幕上輸出楊輝三角

    C語言在屏幕上輸出楊輝三角

    這篇文章主要介紹了在屏幕上輸出楊輝三角的方法,具有一定的參考借鑒價值,需要的朋友可以參考下
    2015-10-10
  • c++ 寫注冊表方式讓程序開機自啟動

    c++ 寫注冊表方式讓程序開機自啟動

    這篇文章主要介紹了c++ 寫注冊表方式讓程序開機自啟動,需要的朋友可以參考下
    2017-09-09
  • 關于Qt添加opencv和libtorch庫的問題

    關于Qt添加opencv和libtorch庫的問題

    這篇文章主要介紹了Qt添加opencv和libtorch庫的相關知識,兩種方法一種是通過手動添加,一種是通過qt creator添加,需要的朋友可以參考下
    2022-01-01
  • C語言編程時常犯十八個錯誤小結

    C語言編程時常犯十八個錯誤小結

    C語言的最大特點是:功能強、使用方便靈活。C編譯的程序對語法檢查并不象其它高級語言那么嚴格,這就給編程人員留下“靈活的余地”,但還是由于這個靈活給程序的調試帶來了許多不便,尤其對初學C語言的人來說,經(jīng)常會出一些連自己都不知道錯在哪里的錯誤
    2013-07-07
  • C語言實現(xiàn)簡易掃雷小游戲

    C語言實現(xiàn)簡易掃雷小游戲

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)簡易掃雷小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • C++中實現(xiàn)矩陣的加法和乘法實例

    C++中實現(xiàn)矩陣的加法和乘法實例

    這篇文章主要介紹了C++中實現(xiàn)矩陣的加法和乘法實例的相關資料,需要的朋友可以參考下
    2017-03-03
  • C++如何將運行結果保存到txt中

    C++如何將運行結果保存到txt中

    這篇文章主要介紹了C++如何將運行結果保存到txt中問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • C語言深入分析數(shù)組指針和指針數(shù)組的應用

    C語言深入分析數(shù)組指針和指針數(shù)組的應用

    在C語言和C++等語言中,數(shù)組元素全為指針變量的數(shù)組稱為指針數(shù)組,指針數(shù)組中的元素都必須具有相同的存儲類型、指向相同數(shù)據(jù)類型的指針變量。指針數(shù)組比較適合用來指向若干個字符串,使字符串處理更加方便、靈活
    2022-04-04
  • C++中鏈表操作實例分析

    C++中鏈表操作實例分析

    本文給大家分享了個人對于C++中鏈表操作的理解,并對具體實例進行了分析,是篇非常不錯的學習鏈表操作的文章,希望大家能夠喜歡
    2017-07-07

最新評論

淄博市| 松溪县| 广安市| 留坝县| 田阳县| 祁连县| 广东省| 盈江县| 朔州市| 溧阳市| 莱阳市| 阳谷县| 澄江县| 霍山县| 郴州市| 旺苍县| 广昌县| 巫山县| 蒙自县| 阿克苏市| 福清市| 凤冈县| 湟源县| 康定县| 库车县| 竹北市| 灵丘县| 苏州市| 日土县| 陆良县| 高安市| 桦南县| 进贤县| 泗洪县| 甘南县| 泰顺县| 永寿县| 突泉县| 涿鹿县| 仁寿县| 平乡县|