91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言中的時間函數clock()和time()有什么用

發布時間:2022-02-23 15:11:39 來源:億速云 閱讀:206 作者:小新 欄目:開發技術

小編給大家分享一下C語言中的時間函數clock()和time()有什么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

時間函數在編寫代碼的時候會經常用到,下面就來總結一下clocktime函數的用法,函數原型如下:

  clock_t __cdecl clock(void);
  __CRT_INLINE time_t __cdecl time(time_t *_Time);

clock函數

clock函數返回程序從運行開始到當前調用函數位置處CPU所使用的時間,通過這個函數就可以計算某段代碼運行時所使用的時間。

下面通過一段簡單的代碼測試一下:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char** argv)
{
	clock_t start_t, end_t;
	start_t = clock();
	sleep(1);
	end_t = clock();
	printf("%d %d",start_t,end_t); 
	return 0;
}

剛進入程序時通過clock函數讀取當前CPU所使用的時間,然后使用sleep函數延時1秒,接著在使用clock函數讀取當前CPU所使用的時間,這樣這兩個時間差應該就是1秒。程序運行結果如下:

C語言中的時間函數clock()和time()有什么用

通過打印的結果可以看出,第一次讀取的CPU時間是0,第二次讀取的CPU時間是1000,在程序中延時了1秒,說明clock函數返回的時間單位是毫秒(ms)。

如果要將程序運行的時間換算為以秒為單位的話,這里就需要計算兩次運行的時間差,然后除以每秒鐘系統的計數次數。系統中每秒鐘的計數次數用一個宏定義的值來表示。

#define CLOCKS_PER_SEC 1000

這個CLOCKS_PER_SEC的值為1000,說明CPU1秒鐘計數1000次,也就是1ms計數一次,這個和上面分析的結果是一樣的。

修改程序,將時間換算為秒,繼續測試。

C語言中的時間函數clock()和time()有什么用

通過結果可以看出這個循環耗時32ms,也就是0.032s。

time函數

time函數返回的是從 1970-01-01 00:00:00 開始到現在所經過的秒數。

下面通過一個簡單的代碼演示一下time函數的用法。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char** argv)
{
	time_t seconds;
	seconds = time(NULL);
	printf("自1970-01-01 起的秒數:%d s",seconds);
	return 0;
}

time函數返回值是一個time_t的類型,它的本質其實也是一個整形數據。

C語言中的時間函數clock()和time()有什么用

函數返回的是一個整形的秒數,將返回值打印出來,結果如下:

C語言中的時間函數clock()和time()有什么用

將這個秒數通過時間戳在線轉換網站轉換為年月日,轉換網址為: https://tool.lu/timestamp/ 轉換結果如下:

C語言中的時間函數clock()和time()有什么用

轉換后的時間和程序運行時的時間是一樣的,說明time函數返回的時間是準確的,這樣在程序運行過程中想要獲取準確的時間時,就可以通過time函數來獲取系統的準確時間。

以上是“C語言中的時間函數clock()和time()有什么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

布拖县| 海口市| 许昌县| 青海省| 藁城市| 疏勒县| 曲阜市| 齐齐哈尔市| 红原县| 沧州市| 皮山县| 淳安县| 德化县| 广宁县| 中卫市| 阳城县| 达拉特旗| 邵阳县| 黔西县| 育儿| 突泉县| 淄博市| 南陵县| 永济市| 定兴县| 镇原县| 阿克苏市| 汉阴县| 米林县| 德昌县| 大田县| 柏乡县| 洛川县| 栾川县| 辽阳市| 南部县| 北宁市| 开封市| 宝兴县| 文化| 盐山县|