qq_26070741 2015-02-24 08:21 采纳率: 18.2%
浏览 2450

请教一个MFC程序运行出错的问题

void CMainFrame::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CTime time;
struct tm* osTime;
time = CTime::GetCurrentTime();
osTime = time.GetLocalTm(NULL);
m_strTime.Format("%2d:%2d:%2d:",osTime->tm_hour,osTime->tm_min,osTime->tm_sec);
m_wndStatusBar.SetPaneText(2, m_strTime);

CFrameWnd::OnTimer(nIDEvent);

}
这段代码是书上的用的是VC6,我用的是VS2013,编译的时候什么错误都没有,运行的时候就出问题了,DEBUG ASSERTION FAILED EXPRESSION:_ATL_CONDVAL,并且
就卡死在那了,只能结束VS2013的进程,如果把osTime = time.GetLocalTm(NULL);这句话去掉就不会出错,也不知道是什么原因,还请指教一下,先谢谢了。

  • 写回答

2条回答

  • oyljerry 2015-02-24 14:40
    关注

    字符集的问题。
    2013缺省是unicode字符了。

    m_strTime.Format(L"%2d:%2d:%2d:",osTime->tm_hour,osTime->tm_min,osTime->tm_sec);

    评论

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记