c ++中的时间计数器

时间:2015-10-11 13:31:41

标签: c++

我想用C ++编写代码,在我们等待用户输入例如我们想要看到的整数结果的同时进行时间计数。例如,我们希望用户输入两个整数并选择四个操作中的一个,然后记下结果。同时时钟或计数机开始计算秒,直到用户记下结果。 是否可以用C ++做,如果不是我怎么能这样做? 谢谢......

2 个答案:

答案 0 :(得分:4)

C ++ 11/14为您提供了比旧版#include<ctime> headers of C使用某些类time durationsteady_clock等衡量high_resolution_clock更有效的方法。标题#include<chrono>。以下代码可以非常有效地完成您的工作:

#include <iostream>
#include <chrono>

using namespace std;
int main()
{
   chrono::steady_clock sc;   // create an object of `steady_clock` class
   auto start = sc.now();     // start timer

   // do stuff....

   auto end = sc.now();       // end timer (starting & ending is done by measuring the time at the moment the process started & ended respectively)
   auto time_span = static_cast<chrono::duration<double>>(end - start);   // measure time span between start & end
   cout<<"Operation took: "<<time_span.count()<<" seconds !!!";
   return 0;
}

答案 1 :(得分:1)

使用std::clock_t的最简单方法:

#include <iostream>
#include <cstdio>
#include <ctime>

int main()
{
    std::clock_t start;
    double duration;

    start = std::clock(); // get current time

    // Do your stuff here

    duration = ( std::clock() - start ) / (double) CLOCKS_PER_SEC;

    std::cout << "Operation took "<< duration << "seconds" << std::endl;

    return 0;
}

实际上有很多方法可以做到这一点。这个是便携式的,不需要任何额外的库。只要您需要第二精度,就可以了。