延迟执行1秒

raz*_*aze 5 c++ sleep delay

所以我试图编写一个简单的基于刻度的游戏.我在Linux机器上用C++编写.下面的代码说明了我正在努力实现的目标.

for (unsigned int i = 0; i < 40; ++i)
{
    functioncall();
    sleep(1000); // wait 1 second for the next function call
}
Run Code Online (Sandbox Code Playgroud)

嗯,这不起作用.它似乎睡了40秒,然后打印出函数调用的结果.

我还尝试创建一个名为delay的新函数,它看起来像这样:

void delay(int seconds)
{
    time_t start, current;

    time(&start);

    do
    {
        time(&current);
    }
    while ((current - start) < seconds);
}
Run Code Online (Sandbox Code Playgroud)

这里结果相同.任何人?

Ale*_*x Z 6

重申其他人已经陈述的具体例子:

假设您正在使用std::cout输出,则应std::cout.flush();在sleep命令之前调用.请参阅此MS知识库文章.