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 用PLC设计纸袋糊底机送料系统
  • ¥15 simulink仿真中dtc控制永磁同步电机如何控制开关频率
  • ¥15 用C语言输入方程怎么
  • ¥15 网站显示不安全连接问题
  • ¥15 github训练的模型参数无法下载
  • ¥15 51单片机显示器问题
  • ¥20 关于#qt#的问题:Qt代码的移植问题
  • ¥50 求图像处理的matlab方案
  • ¥50 winform中使用edge的Kiosk模式
  • ¥15 关于#python#的问题:功能监听网页