标签: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
原文地址:http://blog.csdn.net/u011014707/article/details/45366799