在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(¤t_time, NULL);while ((current_time.tv_sec - start_time.tv_sec) < 1) {gettimeofday(¤t_time, NULL);}start_time = current_time;}return 0;}
这样就可以在更精确的时间间隔内实现定时器功能。