2013-03-13 26 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可以幫助您獲得差異。不要把它想象成一個真正運行的計時器。你只是在革命前後找到差異。