在命令行方式,没有消息可用,有时对于一个进行大循环的程序,需要在特定条件下通过键盘终止该大循环但不终止程序主体的执行,又不可能每一次循环去进行键盘输入读取数据。此时需要用到vc++的windows.h头文件中的_kbhit函数。
_kbhit函数用于检测键盘是否有输入,如果有输入则返回非0,否则返回0,具体输入键可以通过conio.h的_getch函数获取。
下面是一段示例代码
while(true)
{
dosomething();
if (_kbhit())
{
ch = _getch();
if (ch == 27)
{
logMessage("\n******由于人工干预将终止本批记录生成!\n");
breakFlag = true;
}
}
if (breakFlag)break;
}