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

有没有一个C函数不等待input,但如果有一个,它会检测到? 我在这里试图做的是不断循环,直到按下任何键。 我是一个新手,我所学到的所有input函数都等待用户input一些东西..我希望我很清楚,但是如果我不是,我很乐意发布代码。

WIndows kbhit()确实做了这个非阻塞键盘字符就绪检查 ,并有一个在这里的 Linux的kbhit()

由于没有人说清楚….

重要的是要注意的是,C提供的标准库不能提供你正在寻找的功能。 那么实现它就需要使用第三方库和/或关于您正在使用的操作系统的特殊知识。

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

你应该使用selectpoll

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

这取决于你想要做什么,但一般来说:

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

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