任意键开始、暂停
发布日期:2021-05-04 18:35:16 浏览次数:21 分类:技术文章

本文共 1067 字,大约阅读时间需要 3 分钟。

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

任意键继续

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;        }    }

 

上一篇:负数、取模与取余
下一篇:int 越界处理

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2025年03月15日 07时56分16秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

2021年车工(高级)考试总结及车工(高级)试题及答案 2019-03-03
2021年压力焊证考试及压力焊实操考试视频 2019-03-03
2021年低压电工考试及低压电工考试申请表 2019-03-03
2021年低压电工考试及低压电工考试申请表 2019-03-03
2021年低压电工考试及低压电工考试申请表 2019-03-03
2021年低压电工考试APP及低压电工作业模拟考试 2019-03-03
2021年A特种设备相关管理(电梯)考试APP及A特种设备相关管理(电梯)复审考试 2019-03-03
2021年美容师(初级)考试报名及美容师(初级)新版试题 2019-03-03
2021年N1叉车司机考试题及N1叉车司机复审模拟考试 2019-03-03
2021年R2移动式压力容器充装考试试卷及R2移动式压力容器充装考试技巧 2019-03-03
2021年危险化学品经营单位主要负责人考试APP及危险化学品经营单位主要负责人多少钱 2019-03-03
2021年T电梯修理考试技巧及T电梯修理模拟考试软件 2019-03-03
2021年电工(初级)考试及电工(初级)报名考试 2019-03-03
2021年R2移动式压力容器充装考试题及R2移动式压力容器充装找答案 2019-03-03
2021年高处安装、维护、拆除考试资料及高处安装、维护、拆除证考试 2019-03-03
2021年电工(初级)考试及电工(初级)证考试 2019-03-03
2021年安全员-B证-项目负责人(广东省)新版试题及安全员-B证-项目负责人(广东省)考试试卷 2019-03-03
2021年R2移动式压力容器充装考试总结及R2移动式压力容器充装模拟考试 2019-03-03
2021年安全员-B证(山东省)找解析及安全员-B证(山东省)考试总结 2019-03-03
2021年安全员-B证(山东省)考试APP及安全员-B证(山东省)考试技巧 2019-03-03