Advertisement

循环退出(_kbhit(), getch(), 和 getchar())

阅读量:

当在构建一个循环程序时, 程序的跳出环节是构建合理程序的重要组成部分. 在这一过程中, 如何决定触发程序跳出条件也是一个关键点.


按键流触发跳出条件

以下代码为一个完整的按键跳出循环程序

复制代码
    int i = 10,j=0;
    while (j < i)
    {
    	i += 3;
    	Sleep(520);
    	cout << "正在加油中!! 目前油量" << i << "% \r";
    	if (_kbhit())//非阻塞的响应键盘输入时间 (检测是否有按键按下,有按下返回非0值,一般是1没有按下返回0 需要包含 <conio.h>文头件)
    	{
    		if (_getch() == 27)//从标准输入流(键盘)读取ESC键 (相较于getchar()接收按键后还需按下回车才能返回 _getch()不用按下回车就能返回 返回值为输入的Ascii码  需要包含 <conio.h>头文件)
    		{
    			cout << "暂停加油!! 当前油量 :" << j << endl;//显示程序跳出提示并换行
    			cout << endl;//再次换行
    			break;
    		}
    	}
    }

为了实现有效的按键跳出功能,

全部评论 (0)

还没有任何评论哟~