溫馨提示×

c語言定時器如何設置時間

小億
175
2023-12-04 17:48:25
欄目: 編程語言

在C語言中,可以使用<time.h>頭文件中的time()函數(shù)來獲取當前時間戳,然后通過比較時間戳來實現(xiàn)定時器。

下面是一個簡單的示例代碼,演示了如何設置一個定時器來每隔1秒輸出一次當前時間:

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

int main() {
    time_t start_time = time(NULL);  // 獲取程序開始時間
    time_t current_time;

    while (1) {
        current_time = time(NULL);  // 獲取當前時間
        if (current_time - start_time >= 1) {  // 判斷是否已經(jīng)過了1秒
            printf("Current time: %s", ctime(&current_time));
            start_time = current_time;  // 更新開始時間
        }

        usleep(100000);  // 暫停100毫秒,避免過多占用CPU資源
    }

    return 0;
}

上述代碼中,使用time()函數(shù)獲取當前時間戳,并通過ctime()函數(shù)將時間戳轉(zhuǎn)換成可讀的字符串格式。然后設置一個開始時間,每隔1秒判斷一次是否已經(jīng)過了1秒,如果過了1秒則輸出當前時間,并更新開始時間。同時使用usleep()函數(shù)暫停100毫秒,以避免過多占用CPU資源。

需要注意的是,上述示例只是一個簡單的定時器實現(xiàn),實際應用中可能需要更加精確的定時器,可以使用更高級的定時器庫或操作系統(tǒng)提供的定時器機制。

0