-1

我希望我的程序显示一个随机数 10 秒;我可以生成数字,但计时器对我不起作用!!

我曾尝试使用此代码:

void MemoryGame::sleep(unsigned int mseconds)
{
    clock_t goal = mseconds + clock();

    while (goal > clock());
}

...
sleep(500);

这里不是clock()正确的功能吗?还是我忽略了别的东西?

4

2 回答 2

3

我遇到的每个操作系统都提供睡眠。为什么不只在给定的毫秒数内使用操作系统?你的 CPU 会感谢你没有让它忙于无所事事。

于 2013-06-24T21:58:09.070 回答
3

如果你想睡几秒钟(10 秒?),POSIX 提供了一个sleep(unsigned int seconds)函数。要在使用秒的几分之一指定的时间间隔内休眠,该usleep函数提供了此功能。

这些功能位于#include <unistd.h>, 并且在大多数 OS:s 上,您应该能够键入 egman 3 sleep以获得一些帮助。

在 Windows 端,有Sleep(DWORD 毫秒)函数。

while(t<t1);除非您有非常特殊的需要,否则不要忙着等待(例如)。

于 2013-06-24T22:01:29.117 回答