最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言中的時間函數(shù)clock()和time()你都了解嗎

 更新時間:2022年02月18日 14:45:59   作者:嵌入式@hxydj  
這篇文章主要為大家詳細介紹了C語言中的時間函數(shù)clock()和time(),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

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

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

clock函數(shù)

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

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

#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函數(shù)讀取當前CPU所使用的時間,然后使用sleep函數(shù)延時1秒,接著在使用clock函數(shù)讀取當前CPU所使用的時間,這樣這兩個時間差應該就是1秒。程序運行結果如下:

image.png

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

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

#define CLOCKS_PER_SEC 1000

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

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

image.png

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

time函數(shù)

time函數(shù)返回的是從 1970-01-01 00:00:00 開始到現(xiàn)在所經(jīng)過的秒數(shù)。

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

#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 起的秒數(shù):%d s",seconds);
	return 0;
}

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

image.png

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

image.png

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

image.png

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

總結

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內容!    

相關文章

  • 關于C++11的統(tǒng)一初始化語法示例詳解

    關于C++11的統(tǒng)一初始化語法示例詳解

    C++之前的初始化語法很亂,有四種初始化方式,而且每種之前甚至不能相互轉換,但從C++11出現(xiàn)后就好了,所以這篇文章主要給大家介紹了關于C++11的統(tǒng)一初始化語法的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。
    2017-10-10
  • c++二叉樹的幾種遍歷算法

    c++二叉樹的幾種遍歷算法

    c++二叉樹的幾種遍歷算法,需要的朋友可以參考一下
    2013-02-02
  • linux之awk命令的用法

    linux之awk命令的用法

    awk是一個非常棒的數(shù)字處理工具。相比于sed常常作用于一整行的處理,awk則比較傾向于將一行分為數(shù)個“字段”來處理。運行效率高,而且代碼簡單,對格式化的文本處理能力超強
    2013-10-10
  • 使用單鏈表實現(xiàn)多項式計算示例

    使用單鏈表實現(xiàn)多項式計算示例

    這篇文章主要介紹了使用單鏈表實現(xiàn)多項式計算示例,需要的朋友可以參考下
    2014-03-03
  • 詳解DAG上的DP

    詳解DAG上的DP

    DAG:有向無環(huán)圖。DAG是學習動態(tài)規(guī)劃的基礎,很多問題都可以直接轉化為DAG上的最長路、最短路或路徑計數(shù)問題。本文將詳細介紹DAG上的DP。
    2021-05-05
  • C++ 智能指針的模擬實現(xiàn)實例

    C++ 智能指針的模擬實現(xiàn)實例

    這篇文章主要介紹了C++ 智能指針的模擬實現(xiàn)實例的相關資料,智能指針是一個類,它把普通指針封裝起來,能實現(xiàn)和普通指針同樣的功能。,需要的朋友可以參考下
    2017-07-07
  • C++ 數(shù)據(jù)結構實現(xiàn)兩個棧實現(xiàn)一個隊列

    C++ 數(shù)據(jù)結構實現(xiàn)兩個棧實現(xiàn)一個隊列

    這篇文章主要介紹了詳解C++ 數(shù)據(jù)結構實現(xiàn)兩個棧實現(xiàn)一個隊列的相關資料,需要的朋友可以參考下
    2017-03-03
  • 使用C++實現(xiàn)迷宮游戲

    使用C++實現(xiàn)迷宮游戲

    這篇文章主要為大家詳細介紹了C++實現(xiàn)迷宮游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • C++ 迷宮游戲實現(xiàn)代碼

    C++ 迷宮游戲實現(xiàn)代碼

    這篇文章主要介紹了C++ 迷宮游戲實現(xiàn)代碼的相關資料,需要的朋友可以參考下
    2017-05-05
  • C++實現(xiàn)百度坐標(BD09)及GCJ02與WGS84之間的轉換

    C++實現(xiàn)百度坐標(BD09)及GCJ02與WGS84之間的轉換

    這篇文章主要為大家詳細介紹了C++實現(xiàn)百度坐標(BD09)及GCJ02與WGS84之間的轉換的方法,文中的示例代碼講解詳細,希望對大家有所幫助
    2023-03-03

最新評論

青神县| 南木林县| 汶上县| 黄陵县| 离岛区| 孟村| 岐山县| 涿鹿县| 凤阳县| 乐昌市| 赣榆县| 白山市| 尉氏县| 惠安县| 金华市| 瓮安县| 定襄县| 怀柔区| 玉树县| 阜南县| 东光县| 嘉鱼县| 涪陵区| 莱阳市| 牙克石市| 敖汉旗| 平山县| 大渡口区| 余干县| 汝阳县| 花莲市| 怀柔区| 贡觉县| 攀枝花市| 西盟| 墨玉县| 特克斯县| 时尚| 武夷山市| 砀山县| 大英县|