UnicodeToUTF8
admin | 类型转换 | 2014-04-23
C++
bool wstring2string(IN const wchar_t* lpwstr, OUT string& str, IN unsigned int uCodePage)
{
if (NULL == lpwstr)
return false;
int nLen = ::WideCharToMultiByte(uCodePage, 0, lpwstr, -1, NULL, 0, NULL, NULL);
char* pBuf = new char[nLen + 1];
if (NULL != pBuf)
{
nLen = ::WideCha... [阅读全文]
CString2string
admin | 类型转换 | 2014-04-23
C++
void ConvertCString2string(CString& strSrc,std::string& strDes)
{
#ifndef UNICODE
strDes = strSrc;
#else
USES_CONVERSION;
strDes = W2A(strSrc.LockBuffer());
strSrc.UnlockBuffer();
#endif
}
12345678910
void ConvertCString2string(CStri... [阅读全文]
wstring2string
admin | 类型转换 | 2014-04-01
C++
std::string ws2s(const std::wstring& ws)
{
std::string curLocale = setlocale(LC_ALL, NULL); // curLocale = "C";
setlocale(LC_ALL, "chs");
const wchar_t* _Source = ws.c_str();
size_t _Dsize = 2 * ws.size() + 1;
char *_Dest = new char[_Dsize];
memset(_Dest,0,... [阅读全文]
string2wstring
admin | 类型转换 | 2014-04-01
C++
std::wstring s2ws(const std::string& s)
{
setlocale(LC_ALL, "chs");
const char* _Source = s.c_str();
size_t _Dsize = s.size() + 1;
wchar_t *_Dest = new wchar_t[_Dsize];
wmemset(_Dest, 0, _Dsize);
mbstowcs(_Dest,_Source,_Dsize);
std::wstring result = _Dest;
... [阅读全文]
string.c_str()
admin | 类型转换 | 2014-04-01
C++
Call c_str() to get a const char * (LPCSTR) from a std::string.
It's all in the name:
LPSTR - (long) pointer to string - char *
LPCSTR - (long) pointer to constant string - const char *
LPWSTR - (long) pointer to Unicode (wide) string - wchar_t *
LPCWSTR - (long) pointer to constant Unicode (w... [阅读全文]