gpt4 book ai didi

c - 如何丢弃在 sleep 功能期间传递的用户输入?

转载 作者:行者123 更新时间:2023-12-02 15:54:20 25 4
gpt4 key购买 nike

我正在尝试使用终端创建游戏。我询问玩家是否准备好,然后使用下面的代码进行倒计时。问题在于用户所做的所有输入都会添加到程序所做的下一个输入查询中。我正在寻找一种方法来丢弃以前的输入或在此函数期间完全阻止它。

我可以执行 getchar 循环,但这需要在倒计时(按 Enter 键)后进行用户输入,这是我不想要的。

void countdown(void){
printf("5\n");
sleep(1);
printf("4\n");
sleep(1);
printf("3\n");
sleep(1);
printf("2\n");
sleep(1);
printf("1\n");
sleep(1);
clearScreen(0); //clears terminal
}

最佳答案

你基本上不能; “在一定时间内丢弃用户输入”的概念对于标准输出和输入来说实际上没有任何意义,例如考虑您的输入可能来自文件的事实(这里的问题是“时间”)并不是真正以任何方式存在于标准输入/输出例程中的概念)。

为此你需要一个终端 API,而 C 标准库中没有类似的东西,尽管有提供类似功能的库(但你已经说过你不想使用外部库)。

关于c - 如何丢弃在 sleep 功能期间传递的用户输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55474450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com