任意键开始、暂停

任意键开始、暂停大家写程序的时候 经常会遇到 按任意键开始 按任意键继续 等这样的功能

大家好,欢迎来到IT知识分享网。

大家写程序的时候,经常会遇到“按任意键开始”、“按任意键继续”等这样的功能。其实这样的功能实现起来也并不困难,下面总结几种方法,经供参考:

任意键继续

1、_getch() 

_getch() 是 conio.h 里面声明的一个函数,功能是从控制台输入一个字符(控制台不显示该输入),使用时直接添加即可实现“按任意键继续”。

2、system(“pause”)

system 是 stdlib.h 里面声明的一个函数,功能是通过控制台执行一个命令。该函数需要一个字符串指针参数表示命令。

使用时,输入”pause”指令即可。 “pause”就是 system 函数将要执行的命令,缺点是该命令会暂停并显示信息“Press any key to continue … 。

 

任意键开始

这里我提供一种利用while()循环实现的方法:

 while (!_kbhit()); // 没有按键就死循环 按下任意键开始 //清空缓冲区 FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE));

Windows 系统下的 vs 中可以使用 _kbhit() 函数来获取键盘事件,使用时需要加入 conio.h 头文件。由于按键时输入缓冲区的内容可能对程序运行产生影响,这里调用了 FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE)) 函数清空缓冲区。

 

空格暂停、继续

另外,有些时候可能需要暂停、继续的功能,通常习惯用空格键控制,下面提供了一种方法:

 char key = _getch(); //获得按键 if(key == ' ') { lable: while (!_kbhit()); // 没有按键就死循环 按下任意键开始 if (_getch() != ' ') goto lable; //再次检测到空格继续 } 如果不想用 goto 语句,也可以用这种写法 if (_getch() == ' ') { while (1) { //fputs("pause", stdout); //向屏幕输出提示信息 if (_getch() == ' ') break; } }

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/153412.html

(0)
上一篇 2025-03-04 13:00
下一篇 2025-03-04 13:05

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信