在控制台应用程序中等待用户输入的最佳方法是什么?
std::cout << "press any key to exit...";
// wait for user to hit enter or another key
Run Code Online (Sandbox Code Playgroud)
her*_*tao 173
有几种方法,这里有一些可能的单行方法:
使用getch()(需要#include <conio.h>).
使用getchar()(预期Enter,需要#include <iostream>).
使用cin.get()(预期Enter,需要#include <iostream>).
使用system("pause")(需要#include <iostream>).
PS:此方法也将Press any key to continue . . .在屏幕上打印.(似乎是你的完美选择:))
编辑:正如这里所讨论的,没有完全可移植的解决方案.comp.lang.c FAQ的问题19.1 涵盖了这个问题,包括Windows,类Unix系统甚至MS-DOS和VMS的解决方案.
CMS*_*CMS 10
do while循环是一种等待用户输入的好方法.像这样:
int main()
{
do
{
cout << '\n' << "Press a key to continue...";
} while (cin.get() != '\n');
return 0;
}
Run Code Online (Sandbox Code Playgroud)
您也可以使用该功能,system('PAUSE')但我认为这有点慢和平台相关
小智 6
你可以试试
#include <iostream>
#include <conio.h>
int main() {
//some codes
getch();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
没有“标准”库函数可以做到这一点。该标准(也许令人惊讶)实际上并不承认“键盘”的概念,尽管它确实有“控制台输入”的标准。
在不同的操作系统上有多种实现方法(参见 herohuyongtao 的解决方案),但它不能跨所有支持键盘输入的平台移植。
请记住,C++(和 C)被设计为可以在没有键盘的嵌入式系统上运行的语言。(话虽如此,嵌入式系统可能没有标准库支持的各种其他设备)。
这个问题已经争论了很长时间。
| 归档时间: |
|
| 查看次数: |
246082 次 |
| 最近记录: |