慢羊羊的空间

无为,无我,无欲,居下,清虚,自然

正确实现“按任意键继续”功能

在大家写程序的时候,经常会遇到“按任意键继续”这样的功能。网上能找到的方法主要有两种:
1. 使用 _getch() 语句
2. 使用 system("pause") 语句

现在挨个说说。

_getch()

_getch() 功能是从控制台输入一个字符(控制台不显示该输入),是 conio.h 里面声明的一个函数。
所以 _getch() 很好的实现了“按任意键继续”的功能。

system("pause")

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

pause 命令的功能,可以在控制台 cmd.exe 下输入 pause /? 查看,可以看到,pause 的功能是:暂停并显示信息“Press any key to continue . . .”,然后等待用户按任意键,然后继续。

所以,使用 system("pause") 实现暂停的程序,当多次调用后,退出程序时,会看到控制台留有一堆
Press any key to continue . . .
Press any key to continue . . .
Press any key to continue . . .
字样。

建议

综上可知,通过 system 函数调用控制台命令 pause 显示提示信息并等待按键的步骤非常罗嗦。
因此,建议直接使用 _getch 实现“按任意键继续”的功能。

分享到