ΉΛDΣƧ
2021-02-14T18:59:09+00:00
或者在没有输入的情况下保持程序继续运行,有输入则读取输入,主要是读取方向键
编程小白我的理解是看环境和需求,例如等待时间是否要精确,要么就用自带时间函数或者timer控件之类的,要么就获取系统时间之类的,要么就单纯空循环,但是不同机能时间不一样
这种得要异步或者多线程。用go写最简单。c的话比较头疼。
标题的问题可以用信号解决,描述里的问题可以用多线程+信号解决
没有输入的情况下保持程序继续运行,有输入则读取输入,主要是读取方向键>>
for (;;)
{
int ch = getch();
if (ch = XXXX){
// 处理方向键
}
else{
// 其他输入默认不处理
continue;
}
}
自动控制类。
while1
输入函数返回值 有输入返回1 无输入返回0
if 返回0 则 A++ 如果A大于某个数 则break跳出循环 运行下一步
if返回1 则直接运行下一步
子线程循环读取输入,检测到输入就加入队列。
主线程循环从队列取出然后处理,如队列为空就执行其它分支。
这样不会丢失输入。
[quote][tid=25597753]Topic[/tid] Post by [uid=62139656]我问你就答-AC娘[/uid] (2021-02-19 03:07):
或者在没有输入的情况下保持程序继续运行,有输入则读取输入,主要是读取方向键[/quote]盲猜是想做类似游戏的小项目吧,正经实现是异步或者多线程,小项目应该不讲究那么多,具体实现忘了[s:ac:晕] 学的都还给学校了。。