在C#中,您可以使控制台等待输入字符(这对于在程序退出之前能够看到控制台的最后输出非常有用)。作为C ++的初学者,我不确定它的等价物是什么。有吗?
答案 0 :(得分:35)
最简单的方法就是:
std::cin.get();
在此之前,您可以打印“按任意键继续...”之类的内容。有些人会告诉你有关
的信息system("pause");
但不要使用它。它不便携。
答案 1 :(得分:5)
#include <stdio.h>
// ...
getchar();
该函数等待单个按键并返回其(整数)值。
例如,我有一个与System("pause")
相同的功能,但不需要“pause.exe”(这是一个潜在的安全整体,顺便说一句):
void pause()
{
std::cout << std::endl << "Press any key to continue...";
getchar();
}
答案 2 :(得分:3)
标准中没有任何内容,也没有任何跨平台的内容。通常的方法是等待&lt; Enter&gt;按下,然后丢弃结果。
答案 3 :(得分:1)
错误的解决方案是使用system("pause")
,因为这会产生安全漏洞(目录中的恶意pause.exe!)并且不是跨平台的(暂停仅存在于Windows / DOS上)。
有一个更简单的解决方案:
void myPause() {
printf("Press any key to continue . . .");
getchar();
}
这使用符合POSIX的getchar()
(请参阅this)。
您可以像这样使用此功能:
int main() {
...
myPause();
}
这有效地防止了控制台闪烁然后退出。