当前位置: 代码迷 >> WinCE >> CString 转换成char*有关问题
  详细解决方案

CString 转换成char*有关问题

热度:323   发布时间:2016-04-28 13:21:44.0
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); 
就可以了

  相关解决方案