我做的简单计时器停止随机工作

时间:2017-03-05 15:59:05

标签: c++ while-loop

在开始之前,这是代码:

#include <iostream>
#include <ctime>
using namespace std;

int main() {
    int i = 0;
    while (true) {
        i++;
        cout << i << endl;
        clock_t time = clock() + 1000;
        while (clock() != time);
    }
    return 0;
}

所以,基本上,它可以工作,但是,在一段时间后它只是停止倒计时但程序仍在运行。我是C ++编程的新手,我不知道如何解决这个问题。有人可以帮帮我吗?

编辑:我不知道如何修复我的程序仍在运行,我想知道如何修复它而不是随机输出数字。

1 个答案:

答案 0 :(得分:1)

while (clock() != time);

如果你超过time,这很可能是clock()递增的速度,那么你将永远陷入这个循环。

使用<=代替,这样任何更大的clock()值都会打破循环。

顺便说一句,忙碌的等待是所以 1970年。你应该选择某种类型的“定时等待”,直到持续时间过去为止。