是否有与Python的 time.sleep()相当的C ++?
答案 0 :(得分:14)
// sleep for 5 seconds
boost::this_thread::sleep(boost::posix_time::seconds(5));
答案 1 :(得分:5)
以下代码将休眠10毫秒。
boost::this_thread::sleep(boost::posix_time::milliseconds(10))
有关构建持续时间的更多方法,请参阅boost::posix_time::time_duration。
答案 2 :(得分:1)
我不知道任何便携式功能,但主流操作系统{* 3}}用于* nix,usleep
用于Windows。
答案 3 :(得分:0)
请注意,上面的代码在Code :: Blocks 12.11和Visual Studio 2012上进行了测试 在Windows 7上。
为了强制您的程序停止或等待,您有以下几种选择:
该值必须是以毫秒为单位的正整数。 这意味着如果您希望程序等待2秒钟,请输入2000.
以下是一个例子:
#include <iostream> //for using cout
#include <stdlib.h> //for using the function sleep
using namespace std; //for using cout
int main(void)
{
cout << "test" << endl;
sleep(5000); //make the programme waiting for 5 secondes
cout << "test" << endl;
sleep(2000); // wait for 2 secondes before closing
return 0;
}
如果你等了太久,这可能意味着参数是秒。所以改变它:
sleep(5);
对于那些使用sleep获取错误消息或问题的人,请尝试使用_sleep或Sleep替换它,特别是在Code :: Bloks上。 如果你仍然遇到问题,请尝试在代码的大问题上添加一个这个库。
#include <stdio.h>
#include <time.h>
#include <unistd.h>
#include <dos.h>
#include <windows.h>
Windows控制台应用程序上的一个简单的“Hello world”程序可能会在您看到任何内容之前关闭。那种你可以使用系统的情况(“暂停”)。
#include <iostream>
using namespace std;
int main(void)
{
cout << "Hello world!" << endl;
system("PAUSE");
return 0;
}
如果收到消息“错误:'系统'未在此范围内声明”,只需添加即可 在代码的大角度中的以下行:
#include <cstdlib>
使用cin.ignore():
可以达到相同的结果#include <iostream>
using namespace std;
int main(void)
{
cout << "Hello world!" << endl;
cin.ignore();
return 0;
}
示例:
#include <iostream>
using namespace std;
int main(void)
{
cout << "Hello world!" << endl;
cin.get();
return 0;
}
不要忘记添加库conio.h:
#include <iostream>
#include <conio.h> //for using the function getch()
using namespace std;
int main(void)
{
cout << "Hello world!" << endl;
getch();
return 0;
}
您可以让消息告诉您使用getget
的_getch()