我想我的大脑只是抛出了一个内存不足异常并崩溃了,我的问题是我有一个SYSTEMTIME
大小为 3 的类成员数组,它是用户定义的(从 .lua 读取)
SYSTEMTIME m_MatchTime[3];
然后从文件中以这种方式读取:
m_MatchTime[0].wDayOfWeek = static_cast<WORD>( m_Lua.GetGlobalNumber( "FirstDay" ) );
m_MatchTime[0].wHour = static_cast<WORD>( m_Lua.GetGlobalNumber( "FirstHour" ) );
m_MatchTime[0].wMinute = static_cast<WORD>( m_Lua.GetGlobalNumber( "FirstMinute" ) );
m_MatchTime[1].wDayOfWeek = static_cast<WORD>( m_Lua.GetGlobalNumber( "SecondDay" ) );
m_MatchTime[1].wHour = static_cast<WORD>( m_Lua.GetGlobalNumber( "SecondHour" ) );
m_MatchTime[1].wMinute = static_cast<WORD>( m_Lua.GetGlobalNumber( "SecondMinute" ) );
m_MatchTime[2].wDayOfWeek = static_cast<WORD>( m_Lua.GetGlobalNumber( "ThirdDay" ) );
m_MatchTime[2].wHour = static_cast<WORD>( m_Lua.GetGlobalNumber( "ThirdHour" ) );
m_MatchTime[2].wMinute = static_cast<WORD>( m_Lua.GetGlobalNumber( "ThirdMinute" ) );
现在我有一个方法:
SYSTEMTIME cTime;
GetLocalTime( &cTime );
我必须从三个用户定义的时间中计算出哪个是 BEFORE 和更接近当前时间,然后计算到它的剩余时间,(请注意 Sunday = 0,Saturday = 6,还请注意,只有 wDayOfWeek、wHour 和 wMinute 必须是与到达最近的位置相比)
编辑:现在我奖励500 赏金以获得解决方案,请注意我想要的示例,
今天:第 4 天,第 3 小时,第 0 分钟,
日期:第 5 天,第 5 小时,第 30 分钟
距离日期的剩余时间为:1 天 2 小时 30 分钟。