4

我有一个测验程序的代码如下,我需要添加一个时间限制。现在,代码根据使用的时间执行测验分数。但我希望它在程序启动后的 5 分钟内退出。

使用的标头

#include<time.h>

初始化值如下

time_t initialtime,finaltime;

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

initialtime=time(NULL);

当程序结束时,我通过这段代码得到时间

finaltime=time(NULL);

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

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

4

3 回答 3

4

大致如下:

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.
}

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

于 2012-11-18T01:38:58.883 回答
1

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

  • 编写一个循环来检查每次迭代的 10 分钟是否到了
  • 生成一个休眠10 分钟的线程,然后结束程序
  • 实施10 分钟后发出信号的警报

也可以看看:

Stack Overflow 的优点是你可以搜索 "C Timeout",而且Google 上的 "function timeout c"也能得到很好的结果

于 2012-11-18T01:40:21.077 回答
1

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

于 2012-11-18T01:42:24.190 回答