如何在C中运行计时器

问题描述 投票:0回答:1

我正在制作一个琐事游戏,并希望制作一个倒数计时器,其中只有一段时间玩的人有一定的时间来回答这个问题。我是C的新手,我正在寻找一种设置计时器的基本方法。

c timer repl.it
1个回答
0
投票

如果你不介意那个人在回答并被告知他们为时已晚,你可以使用这样的东西。

time.h使我们能够跟踪处理器时钟。它还为我们提供了一些漂亮的功能,如double difftime(time_t timer2, time_t timer1),它以秒为单位返回两个定时器之间的差异。

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

int main(void) {
  time_t start_time;
  time_t current_time;

  time(&start_time);
  time(&current_time);
  double delay = 5;
  int answer = 0;
  double diff = 0;
  while (diff < delay) {
    diff = difftime(current_time, start_time);
    scanf("%d", &answer);
    printf("Nope not %d\n", answer);
    time(&current_time);
  }
  printf("Too late\n");
  return 0;
}

唯一的问题是scanf会锁定程序,并且在循环停止之前会给出一个回复。如果这不是你想要的,那么你应该考虑使用线程。哪个是OS依赖的。

© www.soinside.com 2019 - 2024. All rights reserved.