c语言

c语言定时器如何设置时间

小亿
123
2023-12-04 17:48:25
栏目: 编程语言

在C语言中,可以使用<time.h>头文件中的time()函数来获取当前时间戳,然后通过比较时间戳来实现定时器。

下面是一个简单的示例代码,演示了如何设置一个定时器来每隔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) {  // 判断是否已经过了1秒
            printf("Current time: %s", ctime(&current_time));
            start_time = current_time;  // 更新开始时间
        }

        usleep(100000);  // 暂停100毫秒,避免过多占用CPU资源
    }

    return 0;
}

上述代码中,使用time()函数获取当前时间戳,并通过ctime()函数将时间戳转换成可读的字符串格式。然后设置一个开始时间,每隔1秒判断一次是否已经过了1秒,如果过了1秒则输出当前时间,并更新开始时间。同时使用usleep()函数暂停100毫秒,以避免过多占用CPU资源。

需要注意的是,上述示例只是一个简单的定时器实现,实际应用中可能需要更加精确的定时器,可以使用更高级的定时器库或操作系统提供的定时器机制。

0
看了该问题的人还看了