C++clock()延時循環
阿新 • • 發佈:2018-11-14
系統 sig int ++ tar iostream 函數返回 類型 ret
函數clock(),返回程序開始執行後所用的系統時間,但是有兩個復制問題。
1.clock()返回時間的單位不一定是秒
2.該函數的返回類型在某些系統上可能是Long,也可能是unsigned long或者其他類型。
頭文件ctime提供了解決方案。
1.首先定義了一個符號常量CLOCKS_PER_SEC,該常量等於每秒包含的系統單位數。因此,系統時間除以這個值,可以得到秒數。
2.將秒數返回,乘以CLOCK_PER_SEC,可以得到以系統時間單位為單位的時間。
3.ctime將clock_t作為clock()函數返回類型的別名,也就是將變量聲明為clock_t類型。如 clock_t start=clock();
eg:
#include<iostream> #include<ctime> int main(){ using namespace std; cout<<"Enter the delay time,in secondes:"; float secs; cin>>secs; clock_t delay=secs * CLOCKS_PER_SEC; cout<<"starting\a\n"; clock_t start=clock(); while(clock()-start<delay) ; cout<<"done\a\n"; return 0; }
該程序以系統時間為單位(而不是以秒為單位)計算延遲時間,避免了每輪循環中將系統時間轉換為秒。
C++clock()延時循環