如果等待太多,则在 x 次后中断循环
Posted
技术标签:
【中文标题】如果等待太多,则在 x 次后中断循环【英文标题】:Break loop after x time if waiting too much 【发布时间】:2021-01-11 17:55:16 【问题描述】:我在代码块中使用 C,以供参考。我的代码如下:
while(1)
char ch;
ch = _getch();
MyFunction1(ch);
代码结束。
所以代码一直等到键盘有任何输入,然后自动输入单个字符。
我的问题是,如果在 1/4 秒内没有输入来运行 MyFuction2() 而不是 MyFunction1() ,我是如何做到的。
【问题讨论】:
如果这个getch
来自curses.h
,那么它能够在超时时返回错误。检查它并从循环中中断(你需要它处于半延迟模式)
不是来自curses.h
所以我不太明白你在说什么
【参考方案1】:
请尝试如下操作。
while (true)
SleepEx((1/4)*1000, true);
if (_kbhit())
MyFunction1(_getch());
else
MyFunction2();
【讨论】:
不明SleepEx
,对不起,我错过了什么吗?
嗨,卓耿。 SleepEx 是基本的 Windows API。如果您使用其他操作系统,只需添加#include 以上是关于如果等待太多,则在 x 次后中断循环的主要内容,如果未能解决你的问题,请参考以下文章