我最近搞乱了c ++控制台编程。我想知道是否有办法让文本在控制台上出现一段特定的时间,然后再去一些文字。基本上,我正在尝试创建一个计时器对象。或者如果你熟悉python,那就像
import timer
print "Hello World"
timer.sleep(2)
print "Hello Again World"
timer.sleep(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
。