我尝试了多种输入设置和我的一秒计时器,但没有任何效果。整个代码在到达要求输入的部分时停止。我有一个无缓冲的流,所以我不需要按回车键来发送输入。这也是我为终端使用而设计的吃 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/