C++clock()延時循環


函數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;
}

 該程序以系統時間為單位(而不是以秒為單位)計算延遲時間,避免了每輪循環中將系統時間轉換為秒。

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM