我想做一个等待4秒的计时器,然后再做一些事情,
我这样做但没有工作:
void wait(long seconds)
{
seconds = seconds * 1000;
Sleep(seconds);
}
但它告诉我'睡眠'未定义!!
答案 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*/);
}