在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;
}
這樣就可以在更精確的時間間隔內實現定時器功能。