在C#中,您可以使控制台等待输入字符(这对于在程序退出前能够看到控制台的最后输出很有用)。作为C++的初学者,我不确定什么是等价的。有一个吗?控制台在C++中暂停?
20
A
回答
3
标准中没有什么东西,也没有什么跨平台的。通常的方法是等待< Enter>被按下,然后放弃结果。
29
最简单的方法就是:
std::cin.get();
可以打印类似“按任意键继续......”在那之前。有人会告诉你关于
system("pause");
但是不要使用它。它不是便携式的。
5
#include <stdio.h>
// ...
getchar();
该函数等待一个按键并返回其整数值。
例如,我有不一样System("pause")
的函数,但它不要求“pause.exe”(这是一个潜在的安全整体,顺便说一句):
void pause()
{
std::cout << std::endl << "Press any key to continue...";
getchar();
}
0
不正确的解决方案将是使用system("pause")
,因为这会造成安全漏洞(目录中的恶意pause.exe!)并且不是跨平台的(暂停只存在于Windows/DOS上)。
有一个简单的解决方案:
void myPause() {
printf("Press any key to continue . . .");
getchar();
}
这使用getchar()
,这是符合POSIX标准(见this)。 您可以使用此功能是这样的:
int main() {
...
myPause();
}
这有效地防止控制台从闪动,然后退出。
相关问题
- 1. 组装控制台暂停
- 2. 暂停Python控制台
- 3. 在简单控制台中暂停命令C#app
- 4. AWS控制台,暂停评估
- 5. 自动暂停c#中的控制台应用程序
- 6. 没有暂停控制台的C++延迟For-Loop
- 7. 如何在F#语言中暂停控制台
- 8. 如何在控制台中播放和暂停Youtube视频?
- 9. 暂停在控制台2内运行的bash中的进程
- 10. 制作C++暂停
- 11. 在MVC控制器动作中暂停
- 12. 如何停止控制台暂停我的线程和任务?
- 13. 如何暂停.pl和.bat文件中的控制台窗口?
- 14. 如何暂停Windows控制台程序正在调试
- 15. 暂时暂停System.Timers.Timer在C#
- 16. NSURLSessionDataTask在后台暂停吗?
- 17. Node.js在没有暂停的情况下在新的控制台中打开
- 18. 在C#中暂停执行
- 19. 从控制台读取而不暂停程序
- 20. 为什么我需要2个Console.ReadLine();暂停控制台?
- 21. 如何暂停Eclipse的博世XDK110控制台窗口
- 22. 我可以在SOAPUI groovy脚本中暂停控制台输入吗?
- 23. 如果发生错误,请在Windows控制台中暂停GNU Make
- 24. 暂时停止一个控制流程
- 25. D3补间 - 暂停和恢复控制
- 26. 暂停GoogleMap SupportMapFragment /阻止它被控制
- 27. 引导程序播放/暂停控制
- 28. wi fi协议,流量控制暂停
- 29. 暂停后台线程()
- 30. 控制台窗口不会留在屏幕上,尽管“cin.get();”或系统(“暂停”)
Windows还是Linux? – 2010-12-03 08:44:08
Duplicate:http://stackoverflow.com/questions/1173208/what-is-the-best-practice-for-combating-the-console-closing-issue – 2010-12-03 08:47:04
@Stefan:windows。 – RCIX 2010-12-03 08:47:55