是否可以通过按键退出没有线程的C控制台应用程序?

时间:2014-01-16 15:53:38

标签: c cmd command-line-interface exit

假设我在while (1)循环中计算某些东西,是否可以通过按某个键退出整个应用程序?

这是一个没有线程的C控制台应用程序。

我很确定这是不可能的,但我是新手,所以嘿。我只能想象被强迫按某个功能如_getch()或类似的按键。但是你必须等到用户按下键并且计算不能同时运行。

2 个答案:

答案 0 :(得分:1)

你可以使用C“信号”来做到这一点。

这并不是很难使用。看看这个维基百科页面。 ;)

http://en.wikipedia.org/wiki/C_signal_handling

答案 1 :(得分:1)

在Windows系统上,kbhit()函数是非阻塞的,并在按下任何键时返回true。因此,您可以将while(1)更改为while(!kbhit()),或者您可以if(kbhit()) c = getch()无需等待即可读取字符。但这是非常粗糙的解决方案,真的......