標籤:list art new echart ret src tchar har lis
1 std::string& MsgFieldList::GBToUTF8(std::string& des,const char* str) 2 { 3 WCHAR *strSrc; 4 TCHAR *szRes; 5 6 //獲得臨時變數的大小 7 int i = MultiByteToWideChar(CP_ACP, 0, str, -1, NULL, 0); 8 strSrc = new WCHAR[i+1]; 9 MultiByteToWideChar(CP_ACP, 0, str, -1, strSrc, i);10 11 //獲得臨時變數的大小12 i = WideCharToMultiByte(CP_UTF8, 0, strSrc, -1, NULL, 0, NULL, NULL);13 szRes = new TCHAR[i+1];14 int j=WideCharToMultiByte(CP_UTF8, 0, strSrc, -1, szRes, i, NULL, NULL);15 16 des = szRes;17 delete []strSrc;18 delete []szRes;19 20 return des;21 }
反轉代碼:
1 std::string& MsgFieldList::UTF8ToGB(std::string& des,const char* str) 2 { 3 WCHAR *strSrc; 4 TCHAR *szRes; 5 6 //獲得臨時變數的大小 7 int i = MultiByteToWideChar(CP_UTF8, 0, str, -1, NULL, 0); 8 strSrc = new WCHAR[i+1]; 9 MultiByteToWideChar(CP_UTF8, 0, str, -1, strSrc, i);10 11 //獲得臨時變數的大小12 i = WideCharToMultiByte(CP_ACP, 0, strSrc, -1, NULL, 0, NULL, NULL);13 szRes = new TCHAR[i+1];14 WideCharToMultiByte(CP_ACP, 0, strSrc, -1, szRes, i, NULL, NULL);15 16 des = szRes;17 delete []strSrc;18 delete []szRes;19 20 return des;21 }
Windows 下關於轉碼的函數