下面代码涉及mfc中unicode字符集转换问题
1、cstring转int
cstring strNumber = "1234";
int numId =_tstoi(LPCTSTR(strNumber));
int numId = _ttoi(strNumber);
2、string 转 uint64
string str = "abcd";
const char *pnum = str.c_str();
stringstream strValue;
strValue << pnum;
uint64_t value = 0;
strValue >> value;
3、把string转成wchar_t*
wchar_t* String2Wchar_t(string input)
{
wchar_t tmpstr[1024];
memset(tmpstr, 0, 1024);
char str[BUFFSIZE];
memset(str, 0, BUFFSIZE);
sprintf_s(str, BUFFSIZE, "%s", input.c_str());
int len = strlen(str);
len = MultiByteToWideChar(CP_ACP, 0, str, -1, tmpstr, 1024);
return tmpstr;
}
4、把int转成cstring
int lessonID = 1234;
char szBuf[20];
memset(szBuf, 0, 20);
sprintf_s(szBuf, "%d", lessonID);
CString csStr(szBuf);
5、cstring转string
string cstring2string(CString cstr)
{
char tempstr[100] = { 0 };
memset(tempstr, 0, sizeof(tempstr));
for (int i = 0; i < cstr.GetLength(); i++)
{
tempstr[i] = cstr[i];
}
string s(tempstr);
return s;
}