【问题标题】:How to stop a timer when user enters anything during run time当用户在运行时输入任何内容时如何停止计时器
【发布时间】:2014-01-20 15:04:22
【问题描述】:

例如:

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

我想修改程序段,以便在循环继续时,如果用户按下任何键(在运行时),循环就会停止。如果他不这样做,则循环正常继续,直到 i=100。

我意识到多线程是唯一可以做到这一点的。 由于我是初学者,我希望您能告诉我如何在不使用课程的情况下进行操作。请给我一个带有cmets的程序来解释语法和逻辑。

【问题讨论】:

标签: c++ multithreading


【解决方案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++

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-17
    • 2010-12-02
    • 2021-08-17
    • 2017-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多