2013-03-13 87 views
1

我想知道数字旋转的速度有多快。 我有一个计划,使计数器为0
开始每当用户点击按钮“加1”。它递增1
计数器,计数器马克塞斯在255 255后,又回到0
现在我想以显示它从0多少秒走上递增到最大,并回到0时间完成革命。它的不同点在于用户点击按钮的速度。C++两个值之间的时间差异

我需要知道的是如何使用定时器呢?该程序是完整的,我需要编码的数字完整的革命之间的计时器。

我使用

#include <time.h> //* clock_t, clock, CLOCKS_PER_SEC 

请指点。谢谢。

int counter; 
counter = pkt[0]; 

cout << endl; 

cout << counter << endl; 

if(counter == 1) 
{ 
    cout << "revolution" << endl; 
} 
+0

使用次数。 clock()函数。但它不会给我我想要的东西。 – madziikoy 2013-03-13 08:59:13

+0

[可能的重复](http:// stackoverflow。com/q/307596/1084416) – 2013-03-13 08:59:54

+1

@madziikoy你可能不需要'时钟',因为这给你(或应该给你)CPU时间,而不是挂钟时间。 'time()'将返回挂钟时间,'difftime'会告诉你两个挂钟时间之间的间隔。 – 2013-03-13 09:05:29

回答

0

difftime可用于获得两个时间实例之间的差异。 difftime页面上的示例代码给出了您要查找的内容。

+0

是的,我试过了,但我想要一个计时器开始时,计数器是在0和停止255.并计算需要多长时间。 – madziikoy 2013-03-13 09:00:49

+1

“_I tried_”好吧,**你​​尝试过什么**?您的问题中没有可用的代码。 – uba 2013-03-13 09:02:19

+0

我刚刚更新了我的问题。谢谢 :) – madziikoy 2013-03-13 09:17:42

3

如果你可以使用C++ 11,<chrono>可能是一个不错的选择。

它包含:

持续时间

他们测量的时间跨度,如:1分钟,2小时或十毫秒。 在这种库中,它们被表示与持续时间类模板的目的,耦合计数表示和周期精度(例如,十毫秒具有十个作为计数表示和毫秒为周期精度)。

时间点

的引用到一个特定的时间点,就像一个人的生日,今天的曙光,或下一班火车经过。 在该文库中,time_point类模板的对象通过使用相对于历元的持续时间(这是在固定时间点共同使用相同的时钟的所有time_point对象)表示这一点。

时钟

,其涉及一个时间点到真正的物理时间的框架。 该库提供至少三个时钟,提供将当前时间表示为time_point的方法:system_clock,steady_clock和high_resolution_clock。

0
#include <ctime> 
time_t start = time(NULL); 

会给你从UTC时间1970年1月1日00:00小时开始经过的秒数。如果你把它放在你想要跟踪的代码的开始处,那么当你想计算完成一次完整的革命需要多长时间时,你只需要再花时间。然后找出差异。 difftime可以帮助您获得差异。不要把它想象成一个真正运行的计时器。你只是在革命前后找到差异。