程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> ANSI UNICODE 字符串相互轉換

ANSI UNICODE 字符串相互轉換

編輯:C++入門知識

1 /////////////////////////////////////////////////////////////////////////////////
 2 //    Anis 轉 Unicode 字符串函數
 3 //    入口參數:char*     (Ansi字符串指針)
 4 //    返回數據:TCHAR*    (Unicode字符串指針)
 5 /////////////////////////////////////////////////////////////////////////////////
 6 TCHAR* AnsiToUnicode(char* str)
 7 {
 8     if( !str )
 9         return NULL;
10
11     int wcslen = ::MultiByteToWideChar(CP_ACP, NULL, str, strlen(str), NULL, 0);
12     TCHAR *wstr = new TCHAR[wcslen + 1];
13     ::MultiByteToWideChar(CP_ACP, NULL, str, strlen(str), wstr, wcslen);
14     wstr[wcslen] = '\0';
15
16     return wstr;
17 }

 
 
 1 /////////////////////////////////////////////////////////////////////////////////
 2 //    Unicode 轉 Ansi 字符串函數
 3 //    入口參數:TCHAR*        (Unicode字符串指針)
 4 //    返回數據:char*         (Ansi字符串指針)
 5 /////////////////////////////////////////////////////////////////////////////////
 6 char* UnicodeToAnsi(TCHAR* wstr)
 7 {
 8     if( !wstr )
 9         return NULL;
10
11     int strleng = ::WideCharToMultiByte(CP_ACP, NULL, wstr, wcslen(wstr), NULL, 0, NULL, FALSE);
12     char* str = new char[strlen + 1];
13     ::WideCharToMultiByte(CP_ACP, NULL, wstr, wcslen(wstr), str, strleng, NULL, FALSE);
14     str[strlen] = '\0';
15
16     return str;
17 }


 

摘自  諸葛飛
 

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