kbhit用法

khqinzheng 2019-08-19 09:20:35
#include<conio.h> #include<iostream> usingnamespacestd; int main() { while(!kbhit()) //当没有键按下 { cout<<"无键按下"; int a; } cout<<"有键按下"<<endl; //有键按下时输出这 system("pause"); } 网上说这个kbhit用于判断当前是否有从键盘输入值。 我想问一下如果每次的输入刚好都是在int a时发生,那是不是这个程序会一直输出无键按下,这个当前是指的什么
...全文
254 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2019-08-19
  • 打赏
  • 举报
回复
#include <conio.h>
#include <windows.h>
int main() {
    int k;

    while (1) {
        if (kbhit()) {
            k=getch();
            if (0==k || 0xE0==k) k=k<<8|getch();
            if (27==k) break;//按Esc键退出
            cprintf("\r\n%04X\r\n",k);
        }
        Sleep(200);
        cprintf(".");
    }
    return 0;
}
弓人水 2019-08-19
  • 打赏
  • 举报
回复
kbhit处理速度很快(毫秒级的),所以人的反应速度是没办法达到那么快的,基本不用担心。
smwhotjay 2019-08-19
  • 打赏
  • 举报
回复
while(!quit)
{
job(UDP);



if (kbhit())
{
char ch=getch();

if (ch==' ')
{
break;
}

}
}

按空格就退出循环

64,691

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧