time()函數(shù)在C語言中的用法詳解

小樊
115
2024-09-11 23:06:30
欄目: 編程語言

time() 是一個(gè) C 語言庫函數(shù),它位于 <time.h> 頭文件中。這個(gè)函數(shù)用于獲取當(dāng)前日歷時(shí)間,返回值為自紀(jì)元(Epoch,1970年1月1日 00:00:00 UTC)以來的秒數(shù),類型為 time_t

函數(shù)原型

time_t time(time_t* timer);

參數(shù)

  • timer:一個(gè)指向 time_t 類型變量的指針。如果傳遞了非空指針,當(dāng)前時(shí)間將被存儲(chǔ)在該變量中。如果傳遞了空指針(NULL),則不會(huì)存儲(chǔ)當(dāng)前時(shí)間。

返回值

  • 成功時(shí),返回自紀(jì)元以來的秒數(shù)。
  • 出錯(cuò)時(shí),返回 (time_t)(-1)。

示例

下面是一個(gè)使用 time() 函數(shù)的簡單示例:

#include<stdio.h>
#include <time.h>

int main() {
    time_t currentTime;
    time(&currentTime); // 獲取當(dāng)前時(shí)間并存儲(chǔ)在 currentTime 變量中

    printf("當(dāng)前時(shí)間(自紀(jì)元以來的秒數(shù)):%ld\n", (long)currentTime);

    return 0;
}

在這個(gè)示例中,我們首先包含了<stdio.h><time.h>頭文件。然后,我們定義了一個(gè)time_t類型的變量currentTime,用于存儲(chǔ)當(dāng)前時(shí)間。接著,我們調(diào)用 time()函數(shù)并傳遞currentTime的地址,以便將當(dāng)前時(shí)間存儲(chǔ)在該變量中。最后,我們使用printf()` 函數(shù)輸出當(dāng)前時(shí)間(自紀(jì)元以來的秒數(shù))。

注意:在某些操作系統(tǒng)和編譯器中,time_t 可能是一個(gè)有符號(hào)整數(shù)或無符號(hào)整數(shù)。因此,在使用 printf() 函數(shù)輸出 time_t 類型的變量時(shí),建議使用 %ld(對(duì)于有符號(hào)整數(shù))或 %lu(對(duì)于無符號(hào)整數(shù))格式說明符。

0