
正文
c语言对键盘操作函数 c语言 键盘
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
用c语言写一个函数,从键盘得到整行的输入.
在C语言中,可以使用gets函数来实现该功能。
要自己实现该函数,可以按照如下思路:
1 使用getchar读入字符。
2 依次赋值到数组对应元素上。
3 当读到\n即换行结束操作。
4 在字符串结尾赋值结束符\0。
代码如下:
void get_line(char *s)
{
while((*s=getchar()) != '\n') s++;
*s='\0';
}
相关问答
Q1: C语言键盘内容读取
综观TC提供的键盘输入函数,以bioskey函数为最合适选择。
int bioskey(int cmd);
使用BIOS中断0x16执行各种键盘操作。参数cmd确定实际得操作。
bioskey的返回值由cmd决定:
0:低8位非0,返回在队列中等待的下一输入键的ascii字符或键盘的下一次按键输入的ascii字符。低8位为0,则高8位为扩展键盘码。
1:测试是否有可读的输入键,为0,则没有。Ctrl_break 返回0xffff(-1)。否则,返回下一个输入键。键值还保存,供下次cmd=0时bioskey调用返回。
2:请求当前换档键状态。状态值由下列值相或(or)得到:
位7 0x80 Insert ON
6 0x40 Caps ON
5 0x20 Numlock ON
4 0x10 Scroll Lock ON
3 0x08 ALT
2 0x04 CTRL
1 0x02 - SHIFT
0 0x01 - SHIFT
为了方便起见,我们首先定义一些常用功能键的键值。
#define ReturnKey 0x0d
#define ESC 0x1b
#define Back 0x08
#define LeftArrow 0x4b00
#define RightArrow 0x4d00
#define UpArrow 0x4800
#define DownArrow 0x5000
#define PageUp 0x4900
#define PageDown 0x5100
#define Home 0x4700
#define End 0x4f00
#define F1 0x3b00
#define F2 0x3c00
#define F3 0x3d00
#define F4 0x3e00
#define F5 0x3f00
#define F6 0x4000
#define F7 0x4100
#define F8 0x4200
#define F9 0x4300
#define F10 0x4400
int GetKey(void)
{
int tKey;
while(bioskey(1)==0)
;
tKey=bioskey(0);
if ((tKey 0xff)!=0)
tKey=tKey 0xff;
return tKey;
}
以上代码,可基本完成常用程序键盘读取操作。
但我们必须注意到,对于函数GetKey的定义中,bioskey函数的使用,我们只是对cmd=0,1的情况进行了处理,而对于cmd=2,也即换档键状态没有进行处理,因而诸如ctrl-home等等GetKey不能进行相应的接收,如果确实需要,须继续扩充GetKey函数。
Q2: 在C语言中通常使用 什么函数获得用户从键盘上的输入
scanf函数
scanf("%d",a); 输入一个整数赋值给a;
scanf("%f",a); 输入一个浮点数赋值给a;
scanf("%c",a); 输入一个字符赋值给a;
scanf("%s",%a); 输入一个字符串赋值给a;
Q3: C语言中的键盘输入函数。。。
k=k0xff?0x00ff:k8;其实就是
if(k0xff) {
k=0x00ff;
}else {
k=k8;
}的简写。
其实0xff和0x00ff是一样的c语言对键盘操作函数,都表示同一个十六进制的值。
书上这么写c语言对键盘操作函数,没有错c语言对键盘操作函数;至于为什么,就不好说了。
可能是让你多学点知识,也可能是现在很多书其实在编写时并不是很认真的。毕竟尽信书不如无书!
后面的k8是把0xff的值右移8位,达到计算的目的(具体什么目的要看具体内容)
Q4: 使用C语言 直接读取键盘操作的C++函数
getch();
无回显的等待使用者输入一个字符。
所谓无回显,就是你输入了一个w,但是w不会在控制台中显示……但是绝对是按下了。
他的返回值就是按下的字符。
如果是Win32编程的话,你需要捕获WM_CHAR消息,然后根据wParam参数的值来判断按下的字符!
希望对你有帮助~
c语言对键盘操作函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言 键盘、c语言对键盘操作函数的信息别忘了在本站进行查找喔。





