使C ++暂停

时间:2010-11-12 04:15:23

标签: c++ python time sleep

是否有与Python的 time.sleep()相当的C ++?

4 个答案:

答案 0 :(得分:14)

使用boost::this_thread::sleep

// 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上。

为了强制您的程序停止或等待,您有以下几种选择:


  • sleep(unsigned int)

该值必须是以毫秒为单位的正整数。 这意味着如果您希望程序等待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()

使用cin.ignore():

可以达到相同的结果
#include <iostream>     

using namespace std;    

int main(void)         
{
    cout << "Hello world!" << endl;

    cin.ignore();

    return 0;
}

  • cin.get()

示例:

#include <iostream>     

using namespace std;    

int main(void)         
{
    cout << "Hello world!" << endl;

    cin.get();

    return 0;
}

  • 的getch()

不要忘记添加库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()