定时器一段时间

时间:2014-03-12 15:02:21

标签: c++ windows

我想做一个等待4秒的计时器,然后再做一些事情,

我这样做但没有工作:

void wait(long seconds)
{
    seconds = seconds * 1000;
    Sleep(seconds);

}

但它告诉我'睡眠'未定义!!

1 个答案:

答案 0 :(得分:2)

如果你正在使用C ++ 11;有一个更好的平台独立方式。使用

#include<chrono>

std::chrono::seconds s(seconds);
std::this_thread::sleep_for(s);

在C ++ 11之前,没有独立于平台的方法。以下是在两个平台上执行此操作的方法:

Windows Pre C ++ 11:

#include <windows.h> /*This was your issue: you were not including this file*/

void sleep(unsigned milliseconds)
{
    Sleep(milliseconds);
}

Posix Pre C ++ 11:

#include <unistd.h>

void sleep(unsigned milliseconds)
{
    usleep(milliseconds * 1000/*convert to microseconds*/);
}