c语言

c语言定时器功能怎么实现

小亿
141
2023-08-30 02:35:18
栏目: 编程语言

在C语言中,可以使用<unistd.h>头文件中的sleep()函数来实现简单的定时器功能。

sleep()函数用于使程序暂停执行一段时间,参数是要暂停的秒数。可以通过循环调用sleep()函数来实现定时器的功能。例如,以下代码将每隔1秒输出一次"Timer",共输出5次:

#include <stdio.h>
#include <unistd.h>
int main() {
int i;
for (i = 0; i < 5; i++) {
printf("Timer\n");
sleep(1);
}
return 0;
}

此外,如果需要更精确的定时器功能,可以使用<sys/time.h>头文件中的gettimeofday()函数来获取当前时间,然后计算时间间隔来实现定时器功能。例如,以下代码将每隔1秒输出一次"Timer",共输出5次:

#include <stdio.h>
#include <sys/time.h>
int main() {
struct timeval start_time, current_time;
gettimeofday(&start_time, NULL);
int i;
for (i = 0; i < 5; i++) {
printf("Timer\n");
gettimeofday(&current_time, NULL);
while ((current_time.tv_sec - start_time.tv_sec) < 1) {
gettimeofday(&current_time, NULL);
}
start_time = current_time;
}
return 0;
}

这样就可以在更精确的时间间隔内实现定时器功能。

0
看了该问题的人还看了