程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> vc教程 >> VC中寬字節與窄字節轉換問題

VC中寬字節與窄字節轉換問題

編輯:vc教程

字符串的處理是編程中會經常遇到的問題,在字符串處理中寬窄字符的轉換是個很煩人的問題,往往在處理中為了在不同的函數中使用參數,要頻繁的將字符在寬窄之間轉換

下面是在工作中寫的兩個函數,實現寬窄字符的轉換

/***********************************************************************
*      將窄字節轉換為寬字節        
***********************************************************************/
std::wstring toWideString( const char* pStr , int len )
{
 std::wstring buf ;
 len = strlen(pStr);
 wchar_t* buff;
 buff = new wchar_t[len+1];
 setlocale(LC_ALL,".936");
 int nChars = mbstowcs(buff,pStr,len+1);
 setlocale(LC_ALL,"C");
 buf = buff;
 delete buff;
 return buf;

}
/**********************************************************************
*      將寬字節轉換為窄字節        
***********************************************************************/
std::string toNarrowString( const wchar_t* pStr , int len )
{
 char* buff = new char[len*2+1];
 memset(buff,0,len*2+1);
 setlocale(LC_ALL,".936");
 int nChars = wcstombs(buff,pStr,len*2+1);
 setlocale(LC_ALL,"C");
 std::string buf (buff);
 delete buff;
 return buf ;
}

不過多的解釋了,函數比較簡單,很實用

  1. 上一頁:
  2. 下一頁:
欄目導航
Copyright © 程式師世界 All Rights Reserved