C ++中的控制台程序

时间:2013-08-23 18:11:25

标签: c++

我最近搞乱了c ++控制台编程。我想知道是否有办法让文本在控制台上出现一段特定的时间,然后再去一些文字。基本上,我正在尝试创建一个计时器对象。或者如果你熟悉python,那就像

import timer

print "Hello World"
timer.sleep(2)
print "Hello Again World"
timer.sleep(2)

如果有人可以帮助我,我会很感激,谢谢你。

2 个答案:

答案 0 :(得分:3)

在C ++ 11之前,没有标准的方法可以使用系统库或使用包装系统库的跨平台库。在C ++ 11中,它使用线程和计时库来完成它。

#include <iostream>
#include <chrono>
#include <thread>
int main()
{
    std::cout << "Hello world" << std::endl;
    std::chrono::milliseconds twoSeconds( 2000 );
    std::this_thread::sleep_for( twoSeconds);
    std::cout << "Hello Again World" << std::endl;
}

答案 1 :(得分:1)

没有内置的C ++功能,你必须采用特定于平台的功能。

在POSIX系统(Linux,Mac OS X,BSD,...)上,您可以使用sleep中的<unistd.h>(针对第二个分辨率的延迟)或nanosleep来自<time.h> (标称分辨率为纳秒,但在实践中要差得多)。相反,在Windows上,您可以使用Sleep中的<windows.h> API(标称分辨率为毫秒)。

--- ---编辑

如评论中所述,在C ++ 11中有std::this_thread::sleep_for