C函数不会“等待”任何输入,但检测是否有?

时间:2012-01-04 18:32:07

标签: c windows gcc input codeblocks

是否存在不等待输入的C函数,但如果有,则检测到它? 我在这里尝试做的是无休止地继续循环,直到按下任何键。 我是新手,到目前为止我学到的所有输入功能都等待用户输入内容.. 我希望我很清楚,但如果我不是,我很乐意发布代码..

4 个答案:

答案 0 :(得分:3)

WIndows kbhit()完成了非阻塞键盘char-ready检查,并且有一个kbhit()用于Linux over here

答案 1 :(得分:2)

因为没人说清楚......

需要注意的重要一点是,C提供的标准库 not 提供了您正在寻找的功能。因此,实现它需要使用第三方库和/或有关您正在使用的操作系统的特殊知识。

通常情况下,您可以使用其中一些第三方库。例如,如果您使用的是Visual Studio,则可以使用http://msdn.microsoft.com/en-us/library/58w7c94c(v=VS.100).aspx。我不确定你的设置可以使用什么。

答案 2 :(得分:0)

您应该使用selectpoll

答案 3 :(得分:0)

如果您需要的只是一种停止循环并运行程序功能结束的方法,您可能还需要检查signal()。

这取决于你想要做什么,但总的来说:

A)保持程序单线程并通过非阻塞输入读取检查输入。

B)你产生了一个不同的线程来处理输入并将结果传回主线程。