
c++kbhit()的使用问题,请高手帮忙,急用!
要求:把kbhit()放在循环中的第一步,如果有键盘输入的话,执行操作A,无输入的话则不执行操作。但是具体操作时,只要进行过键盘操作,今后的循环就会一直默认执行操作A。。...
要求:把kbhit()放在循环中的第一步,如果有键盘输入的话,执行操作A,无输入的话则不执行操作 。
但是具体操作时,只要进行过键盘操作,今后的循环就会一直默认执行操作A。。。 比较苛刻的条件是不能用_getch之类的函数,即不论键盘有无输入,都不能停滞。。。 求帮助。。在下感激不尽
可是Bioskey不能使用啊,加了bios.h也不行。。你试过吗??如果能的话告诉我,你的方法我试过了,可以实现我的操作! 展开
但是具体操作时,只要进行过键盘操作,今后的循环就会一直默认执行操作A。。。 比较苛刻的条件是不能用_getch之类的函数,即不论键盘有无输入,都不能停滞。。。 求帮助。。在下感激不尽
可是Bioskey不能使用啊,加了bios.h也不行。。你试过吗??如果能的话告诉我,你的方法我试过了,可以实现我的操作! 展开
1个回答
展开全部
建议使用bioskey()
kbhit()函数不清空缓存,也就是在按键后没有用getch()读取的话,缓存中一直有内容,。
即使用了getch(),这个程序也不会停滞。
你可以粘过去试试,不会停滞的。
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
while(1)
{
if(!kbhit()) cout<<"无按键"<<endl;
else
{getch(); cout<<"有按键"<<endl;}
}
}
bioskey是TC环境中的包,其他的好像都没。
kbhit()函数不清空缓存,也就是在按键后没有用getch()读取的话,缓存中一直有内容,。
即使用了getch(),这个程序也不会停滞。
你可以粘过去试试,不会停滞的。
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
while(1)
{
if(!kbhit()) cout<<"无按键"<<endl;
else
{getch(); cout<<"有按键"<<endl;}
}
}
bioskey是TC环境中的包,其他的好像都没。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询