【问题标题】:How do I run a timer in C如何在 C 中运行计时器
【发布时间】:2019-07-28 18:44:30
【问题描述】:

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

【问题讨论】:

  • 看看some of these。这个问题没有可移植的解决方案。
  • C 语言本身不包含任何功能 - 不过您的操作系统可能包含。如果没有这些信息,就很难提出解决方案。

标签: c timer repl.it


【解决方案1】:

如果您不介意有人在回答并被告知他们为时已晚,您可以使用类似的方法。

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 会锁定程序,并且在循环停止之前必须给出回复。如果这不是您想要的,那么您应该考虑使用线程。哪个取决于操作系统。

【讨论】:

  • 如果您使用 getchar() 而不是 scan ,这实际上会起作用,因为在第二个循环中它将扫描作为输入,因此您不必再次输入。如果你没有告诉我该怎么做,我就无法弄清楚。
猜你喜欢
  • 1970-01-01
  • 2015-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-18
  • 2019-07-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多