C语言的时间限制 - 测验计划

时间:2012-11-18 01:29:50

标签: c time limit

对于测验计划,我的代码如下所示,我需要添加时间限制。现在,代码根据使用的时间执行测验分数。但是我希望它在5分钟内从程序启动时开始退出。

使用标题

#include<time.h>

初始化值如下

time_t initialtime,finaltime;

我在使用此代码开始测验之前开始时间计数

initialtime=time(NULL);

当程序结束时,我会通过此代码获得时间

finaltime=time(NULL);

现在,如何在最后时间达到10分钟之前结束该计划?我应该在Main函数中使用什么代码?

PS:如果需要,我可以发布完整的代码。

3 个答案:

答案 0 :(得分:3)

大致如下:

int main()
{
    //....
    time_t initial_time = time(NULL);
    float time_limit = 600.0f;

    //...
    while ( (time(NULL) - initial_time) < time_limit )
    {
        // ... do stuff
    }

    // clean up etc.
}

这将循环直到特定的持续时间过去。

答案 1 :(得分:0)

有很多方法可以做到这一点:

  • 编写一个循环,检查每次迭代是否有10分钟
  • 生成sleeps 10分钟的线程,然后结束程序
  • 实施一个在10分钟后发出信号的alarm

另见:

Stack Overflow的优点是search for "C Timeout""function timeout c" on Google也能提供良好的效果

答案 2 :(得分:0)

你有两个选择 - 1.在流程/程序中,继续检查所用时间是否已达到10分钟。 这很容易。 2.以简单的计时器启动程序,该计时器在10分钟结束时自动退出。 现在在此程序中,在计时器启动之前,将所需操作作为单独的线程启动。这更准确。