Я отвечу ужасным, нарисованным рукой комиком. Второе изображение является причиной того, что result
является undefined
в вашем примере кода.
На платформах с функцией select
(POSIX, Linux и Windows) вы можете сделать:
void sleep(unsigned long msec) {
timeval delay = {msec / 1000, msec % 1000 * 1000};
int rc = ::select(0, NULL, NULL, NULL, &delay);
if(-1 == rc) {
// Handle signals by continuing to sleep or return immediately.
}
}
Однако в настоящее время существуют лучшие альтернативы.
#ifdef WIN32
не оценивается как true по умолчанию.
– kayleeFrye_onDeck
20 June 2018 в 03:02
error LNK2019: unresolved external symbol _select@20 referenced in function "void __cdecl sleep(unsigned long)" (?sleep@@YAXK@Z)
– kayleeFrye_onDeck
20 June 2018 в 03:07
Способ спать вашей программы на C ++ - это метод Sleep(int)
. Файл заголовка для него - #include "windows.h."
Например:
#include "stdafx.h"
#include "windows.h"
#include "iostream"
using namespace std;
int main()
{
int x = 6000;
Sleep(x);
cout << "6 seconds have passed" << endl;
return 0;
}
Время, в которое он спит, измеряется в миллисекундах и не имеет ограничений.
Second = 1000 milliseconds
Minute = 60000 milliseconds
Hour = 3600000 milliseconds
#ifdef WIN32
не оценивается как true по умолчанию.
– kayleeFrye_onDeck
20 June 2018 в 03:02