码迷,mamicode.com
首页 > 编程语言 > 详细

MFC公共方法

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

标签:mfc

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公共方法

标签:mfc

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!