你如何让程序在Win 32上用C++睡眠?

Chr*_*_45 17 c++ sleep

如何在Win 32上用C++"暂停"一个程序,以及必须包含哪些库?

IVl*_*lad 28

#include <windows.h>

Sleep(number of milliseconds);
Run Code Online (Sandbox Code Playgroud)

或者,如果要在等待其他程序时暂停程序,请使用WaitForSingleObject.


Yoc*_*mer 10

在 C++11 中,您可以使用标准库工具执行此操作:

#include <chrono>
#include <thread>
std::this_thread::sleep_for(std::chrono::milliseconds(x));
Run Code Online (Sandbox Code Playgroud)


Joh*_*zen 8

如果您正在使用boost,则可以使用以下thread::sleep功能:

#include <boost/thread/thread.hpp>
boost::system_time time = boost::get_system_time();
time += boost::posix_time::seconds(1);
boost::thread::sleep(time); 
Run Code Online (Sandbox Code Playgroud)

否则,您将不得不使用win32 api:

#include <windows.h>
Sleep(1000);
Run Code Online (Sandbox Code Playgroud)

而且,显然,C++ 0x包括:

#include <thread>
std::this_thread::sleep_for(chrono::seconds(1));
Run Code Online (Sandbox Code Playgroud)

  • 我的天哪,最后一行太丑了。 (2认同)
  • 我不怪你,除非你是C++标准委员会;-) (2认同)