当前位置:首页 » 编程语言 » 在c语言中怎么实现输入esc
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

在c语言中怎么实现输入esc

发布时间: 2022-11-04 09:14:20

1. 在c语言里有没有一段代码能实现按键盘上的"Esc ”键进行退出操作

<stdio.h>
#include <bios.h>
int main(void)
{
int key, modifiers;
while ((key=bioskey(0)) != 0 && key!=0x11b){
printf("0x%x\n",key);
}

return 0;
}

2. 用c语言模仿windows界面和接收esc之类的功能键的问题

#include<stdio.h>
#include<conio.h>
#include<dos.h>
#include<bios.h>
#define ESC 283
#define UP 18432
#define DOWN 20480
#define LEFT 19200
#define RIGHT 19712
void main()
{
int key;
while(key!=ESC)
{
printf("wait for keypress...\n");
sleep(1);
key = bioskey(0);
switch(key)
{
case ESC:printf("you have press ESC...\n");break;
case UP:printf("you have press UP...\n");break;
case DOWN:printf("you have press DOWN...\n");break;
case LEFT:printf("you have press LEFT...\n");break;
case RIGHT:printf("you have press RIGHT...\n");break;
default:break;
}
}
}

bioskey函数介绍

函数原型:int bioskey (int cmd)

说明:bioskey()的函数原型在bios.h中

bioskey()完成直接键盘操作,cmd的值决定执行什么操作。

cmd = 0:

当cmd是0,bioskey()返回下一个在键盘键入的值(它将等待到按下一个键)。它返回一个16位的二进制数,包括两个不同的值。当按下一个普通键时,它的低8位数存放该字符的ASCII码;对于特殊键(如方向键、F1~F12等等),低8位为0,高8位字节存放该键的扫描码。

cmd = 1:

当cmd是1,bioskey()查询是否按下一个键,若按下一个键则返回非零值,否则返回0。

cmd = 2:

当cmd是2,bioskey()返回Shift、Ctrl、Alt、ScrollLock、NumLock、CapsLock、Insert键的状态。各键状态存放在返回值的低8位字节中。

字节位 含义

0 右边Shift键状态

1 左边Shift键状态

3 Ctrl键状态

4 Alt键状态

5 ScrollLock键状态

6 NumLock键状态

7 CapsLock键状态

8 Insert键状态

字节位为1表示该键被按下,为0表示松开。

3. 在c语言中怎么实现输入esc退出 其他键继续

可以参考下面的代码:

#include<conio.h>

#include<stdio.h>

intmain()

{

while(1)

{

if(_kbhit()&&_getch()==0x1b)

break;

printf("dosomething...");

}

}

当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。

(3)在c语言中怎么实现输入esc扩展阅读:

kbhit()函数

功能及返回值: 检查当前是否有键盘输入,若有则返回一个非0值,否则返回0。

用 法:int kbhit(void);

C++语言包含头文件: include <conio.h>,C语言不需包含额外头文件。

if语句if语句的一般形式如下:

if(表达式)语句1

[else语句2]

if语句中的“表达式”可以是关系表达式、逻辑表达式,甚至是数值表达式。

4. C语言 关于用ESC实现返回主菜单的

由于输入字符比较奇怪,以你这个为例,当你输入以个字符后,回车,不是ESE键,这时回车会下一个getch()。有点麻烦。
根据这点,你可以在
printf("请输按任一键\n");
ch=getch();
后面再加依据
getchar();
就行了。

也就是do
{
printf("请输按任一键\n");
ch=getch();
getchar();//不要以为要输入两次,其实调试时你回发现只需输入一次
}
while(ch!=27)

5. C语言,自己编写一个类似scanf的函数(如叫myscanf),功能要求:若输入的第一个字符是ESC,则退出myscanf

把下面程序改成 函数就可以了。
关键,用getch(); 判断第一个字符是不是ESC。以后用getchar();
用 sscanf(str,"%d",&x); 把输入流 的 内容 转 int , 或 %f 转 float ...

void main()
{
char str[80];
int x,i=0;
while (1){
if (i==0) str[i] = getch(); else str[i]=getchar();
if (str[0]==0x1B) {printf("I got ESC\n"); exit(0);};
if (str[i]=='\n') break;
i++;
}
sscanf(str,"%d",&x);
printf("%d",x);
}

6. C语言输入ESC退出

0x代表的是16进制,1b代表的就是ESC的asc码,getchar()函数用来捕获你键盘输入的字符。

7. c语言中如何设计任意时刻按esc键返回主菜单

用#include <conio.h>中的getch()函数;
如:int c = getch();
if (c == 27) //ESC的ASC码是27
{
//显示主菜单
}

8. 请教一个C语言按ESC退出的问题

ESC按键的ascii码是十进制的27,或者是十六进制的1B,还可以是char型的'esc'。
如果你是想在输入字符串时按ESC退出,那就一个个的输入字符,等到输入的字符为'esc'时跳出就好。

9. esc c语言

按 ESC 键后的输入应当有两个信号--相当两个ASCII值。
所以你要连续 读 两个键值 来判断,也就是用两次 getchar()。
ESC 第二个值是 0x1B,第一个值一时记不起来了。
0x1B -- 十六进制 1B

10. C语言如何在输入一串字符后按esc键结束

用getch();头文件为conio.h
getch();为不回显函数,当用户按下某个字符时,函数自动读取,无需按回车。
ESC的键码为27,即调用getch();获取到值后判断是否为27,是则退出,否则继续.