c++ - 如何限制用户输入的时间?

标签 c++ user-input

我尝试了多种输入设置和我的一秒计时器,但没有任何效果。整个代码在到达要求输入的部分时停止。我有一个无缓冲的流,所以我不需要按回车键来发送输入。这也是我为终端使用而设计的吃 bean 人游戏的目的。我想要的基本上是有一个一秒的时间间隔,用户可以在其中输入命令。如果没有输入命令,我希望吃 bean 人继续按照上次输入命令时的方向移动。

编辑:

time_t startTime, curTime;

    time(&startTime);
    do
    {
        input=getchar();
        time(&curTime);
    } while((curTime - startTime) < 1);

最佳答案

您可以尝试使用 alarm()(或类似的计时器函数)来抛出并让您的应用程序捕获 SIGALRM,尽管这对于 PacMac 来说绝对是过大的杀伤力。考虑使用单独的线程(POSIX 线程)来控制计时器。

关于c++ - 如何限制用户输入的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9575981/

相关文章:

c++ - 使用 Visual Studio 2015 时如何通过 MSI 分发 VC redist?

C++:识别对象的类型

c - 在 C 中获取用户的连续输入

c++ - 获取字符串中的每个字符并将其转换为十六进制 C++?

java - 以编程方式退出应用程序的适当方法是什么?

Javascript:如何在没有任何 HTML 的情况下获取用户输入并将其存储到变量中?

c++ - kd-tree 构建非常慢

c++ - c++中链表和树程序的内存管理

c++ - 如何让 Qt 5.8 在 Windows 上使用 OpenSSL

android - Opengl-es onTouchEvents 问题还是绘图问题?