多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > MFC轉化類方法

MFC轉化類方法

來源:程序員人生   發布時間:2015-07-06 10:28:06 閱讀次數:2746次

1.字符轉化

    1)窄字符與寬字符之間的轉化

        wstring ConvertStringToWString(const std::string & str)
        {
            int nLen = (int)str.size();

            int nSize = MultiByteToWideChar(CP_ACP, 0, (LPCSTR)str.c_str(), nLen, 0, 0);

            if(nSize <= 0)
            {
                return L"";
            }

           WCHAR *pwszDst = new WCHAR[nSize+1];

           if( NULL == pwszDst)
           {
              return L"";
           }
 
           MultiByteToWideChar(CP_ACP, 0,(LPCSTR)str.c_str(), nLen, pwszDst, nSize);

           pwszDst[nSize] = 0;

           wstring wcharString;

           if( pwszDst[0] == 0xFEFF) // skip Oxfeff
           {
              for(int i = 0; i < nSize; i ++)
              pwszDst[i] = pwszDst[i+1];

             wstring wcharString1(pwszDst,nSize⑴);

             wcharString = wcharString1;
           }
           else
           {
             wstring wcharString2(pwszDst,nSize);

             wcharString = wcharString2;
           }

           delete pwszDst;

           return wcharString;
        }

 

        void ConertTCHARToString(TCHAR * ori,string * str)
        {
            int wLen = (int)(wcslen( ori ) + 1);

            int aLen=WideCharToMultiByte(CP_ACP,0,ori,wLen,NULL,0, NULL,NULL);

            char * lpa = new char [aLen];
  
            WideCharToMultiByte(CP_ACP,0,ori,wLen,lpa, aLen,NULL,NULL);

           *str = lpa;
 
            delete [] lpa;
         }

    2)wstring與UCS2之間的轉化

        int ConvertWStringToUCS2(const std::wstring & WStr,std::string *UCS2Str)
        { 
            //存儲為char
            char *TempBuff = new char[wcslen(WStr.c_str())*2];

            memcpy(TempBuff,WStr.c_str(),wcslen(WStr.c_str())*2);

            string HighStr="";
            string LowStr ="";
            //逐字處理
            for(UINT i = 0;i<wcslen(WStr.c_str())*2;i=i+2)
            {       
                HighStr = ConvertByteToHexStr((BYTE)TempBuff[i]);
                LowStr  = ConvertByteToHexStr((BYTE)TempBuff[i+1]);

                //變成網絡序
                *UCS2Str = *UCS2Str+LowStr+HighStr;
            }
            delete [] TempBuff;

            return (int)wcslen(WStr.c_str())*2;
        }

 

         int ConvertUCS2ToWString(const std::string &UCS2Str,std::wstring * WStr)
         {
             size_t len = UCS2Str.size();
 
              if(len%4!=0 || len ==0)
              {
                  *WStr= L"";
                  return 0;
              }
              BYTE * tempbuff = new BYTE[len/2];
 
              int pos = 0;

              for(UINT i =0;i<len;i=i+4)
              {
                  //網絡序變成正常序
                 tempbuff[pos+1]= ConvertHexStrToBYTE(UCS2Str.substr(i,2));
                 tempbuff[pos]= ConvertHexStrToBYTE(UCS2Str.substr(i+2,2));

                 pos= pos+2;       
              }

              //變成wstring
              unsigned short * wbuff = new unsigned short[len/4+1];

              memcpy(wbuff,tempbuff,len/2);

              wbuff[(len/4)] ='

主站蜘蛛池模板: www在线观看免费视频 | 国产精品一区三区 | tube44欧美| 亚洲国产成人精品青青草原100 | 波多野结衣一区二区三区四区 | 国产精品男人的天堂 | 久久精品国产亚洲aa | 欧美国产亚洲精品a第一页 欧美国产亚洲精品高清不卡 | 国产成人影院在线观看 | 亚洲精品国产第一区二区多人 | 欧美精品99久久久久久人 | 高清午夜线观看免费 | 国产v日韩v欧美v精品专区 | 欧美激情视频二区 | 97涩色| 性欧美17一18sex性高清播放 | 精品伊人久久久 | 免费黄网站大全 | 在线观看麻豆国产精品 | 久久久久欧美国产精品 | 99久久精品毛片免费播放 | 日韩精品欧美亚洲高清有无 | 久久精品国产线看观看亚洲 | 中文字幕乱码中文字幕 | 99久久精品免费国产一区二区三区 | 亚洲成人一区在线 | 日韩亚洲欧美综合一区二区三区 | 亚洲精品伊人 | 老女人做爰免费的视频 | 亚洲精品国产福利片 | hh99me福利毛片在线看 | 免费自拍视频 | 国产一区二区三区在线免费观看 | 在线视频欧美精品 | 91久久偷偷做嫩草影院免费 | 一二三四在线播放免费观看中文版视频 | 2018生活片性色生活片 | 亚洲性69影院在线观看 | 国产福利在线播放 | 日韩一区二区三区视频 | 国语高清精品一区二区三区 |