首页 > 编程语言 > 详细

MFC公共方法

时间:2015-04-29 17:17:31      阅读:276      评论:0      收藏:0      [点我收藏+]

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-1);

             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;
         }

 

 

   

 

MFC公共方法

原文:http://blog.csdn.net/u011014707/article/details/45366799

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!