CString 转换成char*问题
CString c_sTime("010904");
CString hour =c_sTime.Left(2);
int num=atoi((char*)(LPCTSTR)hour);
转换后得到的num为0为什么;那一步出错了
[解决办法]
int length=c_sTime.GetLength();
char *cLog=new char [length+1];
WideCharToMultiByte(CP_ACP, 0, (const unsigned short*)c_sTime,
-1, cLog, length+1, NULL, NULL);
你稍微改一下就可以了啊!
还有另外一中转换方法:
int length=c_sTime.GetLength();
char *cLog=new char[length+1];
memset(cLog,0,length);
for (int i=0;i<length;++i)
{
cLog[i]=c_sTime[i];
}
你要是用
int num =atoi(cLog);
的话
完全没必要转换
直接用
int num =_wtoi(c_sTime);
就可以了