如何在用户在运行时输入任何内容时停止计时器

时间:2014-01-20 15:04:22

标签: c++ multithreading

例如:

cout<<"\n Time used (in seconds) :";
for(int i=0; i<100; i++)
{
       cout<< i;
       delay(1000);
       cout<<"\b"; 
}

我想修改程序段,以便在循环继续时,如果用户按任意键(在运行时),循环停止。如果他没有,则循环继续正常直到i = 100。

我意识到多线程是唯一这样做的。 因为我是初学者,所以如果你告诉我如何在不使用课程的情况下去做,我想要。请给我一个带注释的程序来解释语法和逻辑。

1 个答案:

答案 0 :(得分:1)

Windows提供了有关线程的大量文档,请参阅以下有关如何使用C ++创建线程的教程: http://msdn.microsoft.com/en-us/library/windows/desktop/ms682516%28v=vs.85%29.aspx

另外,您可以使用可在大多数现代操作系统(包括UNIX和Windows)上运行的boost库,这是一个教程: http://antonym.org/2009/05/threading-with-boost---part-i-creating-threads.html

你还应该研究一种更准确的计时方法,我发现StackOverflow上的这个线程正在讨论时间: How to Calculate Execution Time of a Code Snippet in C++