CString、LPSTR、std::string、LPCSTR之间的转换
2012-04-10 10:28
495 查看
LPSTR WideChar2MBCS( const CString& strCS )
{
const UINT wLen= strCS.GetLength()+
1;
UINT aLen= WideCharToMultiByte(CP_ACP,0,strCS,wLen,NULL,0,NULL,NULL);
LPSTR lpa=
newchar[aLen];
WideCharToMultiByte(CP_ACP,0,strCS,wLen,lpa,aLen,NULL,NULL);
return lpa;
}
std::string WideChar2StdStr(const
CString& strcs)
{
LPSTR l= WideChar2MBCS(strcs);
std::string stdStr(l);
delete [] l;
return stdStr;
}
LPOLESTR MBCS2WideChar( LPCSTR lpa )
{
size_t aLen= strlen(lpa)+
1;
int wLen
= MultiByteToWideChar(CP_ACP,0,lpa,aLen,NULL,0);
LPOLESTR lpw=
new WCHAR[wLen];
MultiByteToWideChar(CP_ACP,0,lpa,aLen,lpw,wLen);
return lpw;
}
CString MBCS2CString( LPCSTR lpa )
{
LPOLESTR lpw= MBCS2WideChar(lpa);
CString cstring(lpw);
delete [] lpw;
return cstring;
}
CString StdStr2CSting(const std::string&
stdStr )
{
return MBCS2CString(stdStr.c_str());
}
{
const UINT wLen= strCS.GetLength()+
1;
UINT aLen= WideCharToMultiByte(CP_ACP,0,strCS,wLen,NULL,0,NULL,NULL);
LPSTR lpa=
newchar[aLen];
WideCharToMultiByte(CP_ACP,0,strCS,wLen,lpa,aLen,NULL,NULL);
return lpa;
}
std::string WideChar2StdStr(const
CString& strcs)
{
LPSTR l= WideChar2MBCS(strcs);
std::string stdStr(l);
delete [] l;
return stdStr;
}
LPOLESTR MBCS2WideChar( LPCSTR lpa )
{
size_t aLen= strlen(lpa)+
1;
int wLen
= MultiByteToWideChar(CP_ACP,0,lpa,aLen,NULL,0);
LPOLESTR lpw=
new WCHAR[wLen];
MultiByteToWideChar(CP_ACP,0,lpa,aLen,lpw,wLen);
return lpw;
}
CString MBCS2CString( LPCSTR lpa )
{
LPOLESTR lpw= MBCS2WideChar(lpa);
CString cstring(lpw);
delete [] lpw;
return cstring;
}
CString StdStr2CSting(const std::string&
stdStr )
{
return MBCS2CString(stdStr.c_str());
}
相关文章推荐
- CString、LPSTR、std::string、LPCSTR之间的转换
- 【C++】MFC中的CString和std::string,以及两者之间的相互转换(基于VS201X版本)
- 标准字符串std::string和System::String, CString之间的转换
- CString 和 LPCTSTR 之间的转换 及 LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTR的区分与转化
- CString 和 LPCTSTR 之间的转换 及 LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTR的区分与转化
- CString 和 LPCTSTR 之间的转换 及 LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTR的区分与转化
- 浅谈c-string(char或者wchar_t),std::string和CString之间的转换
- CString 和 LPCTSTR 之间的转换 及 LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTR的区分与转化
- std::string 与 CString之间的转换
- ATL::CStringA和std::string之间转换的一些误区
- CString 和 LPCTSTR 之间的转换 及 LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTR的区分与转化
- CString 和 LPCTSTR 之间的转换 及 LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTR的区分与转化
- 标准字符串std::string和System::String, CString之间的转换
- 完成一程序演示字符数组、C风格字符串、std::string和MFC中的Cstring类型之间的相互转换
- 标准字符串std::string和System::String, CString之间的转换
- {wchar_t*, wchar_t, wchat_t数组},{char,char*,char数组},{std::string,std::wstring},CString之间的相互转换
- CString 和 LPCTSTR 之间的转换 及 LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTR的区分与转化
- CString 和 LPCTSTR 之间的转换 及 LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTR的区分与转化(转)
- CString,std::string,char*之间转换
- CString 和 LPCTSTR 之间的转换 及 LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTR的区分与转化