none
mfc把时间转换成秒,然后加上毫秒, RRS feed

答案

  • _stscanf_s(lpszData, _T("%[0-9].%[0-9].%[0-9]"), szHour, _countof(szHour), szMinute, _countof(szMinute), szSecond, _countof(szSecond));

    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.

    • 已标记为答案 angel725 2014年7月5日 11:53
    2014年7月5日 3:38
    版主

全部回复

  • double CalcTime(LPCTSTR lpszData)
    {
    	ASSERT(NULL != lpszData);
    	double fValue = 0.0;
    
    	TCHAR szHour[16] = {0};
    	TCHAR szMinute[16] = {0};
    	TCHAR szSecond[16] = {0};
    	_stscanf(lpszData, _T("%[0-9].%[0-9].%[0-9]"), szHour, szMinute, szSecond);
    	fValue = _ttoi(szHour) * 60 + _ttoi(szMinute) + _ttoi(szSecond) / 100.0;
    	return fValue;
    }
    
    // 调用
    CString strText(_T(""));
    strText.Format(_T("%.2f"), CalcTime(_T("2.20.30")));
    AfxMessageBox(strText);


    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.

    2014年7月4日 1:47
    版主
  • _stscanf这个说不安全,我改成了
    _stscanf_s

    出现这个错误,0x59B93FD4 (msvcr120d.dll) (cacl.exe 中)处有未经处理的异常:  0xC0000005:  写入位置 0x01040000 时发生访问冲突。

    不会弄了

    2014年7月4日 13:36
  • _stscanf_s(lpszData, _T("%[0-9].%[0-9].%[0-9]"), szHour, _countof(szHour), szMinute, _countof(szMinute), szSecond, _countof(szSecond));

    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.

    • 已标记为答案 angel725 2014年7月5日 11:53
    2014年7月5日 3:38
    版主
  • 谢谢,可以

    只是没看明白?

    2014年7月5日 11:53