最近,我一直在尝试从这个网站学习C++ .不幸的是,每当我尝试运行其中一个代码示例时,我会看到该程序打开大约半秒然后立即关闭.有没有办法阻止程序立即关闭,以便我可以看到我努力的成果?
我有一组Boost单元测试,我想作为控制台应用程序运行.
当我正在进行项目并运行测试时,我希望能够调试测试,并且我希望在测试运行后让控制台保持打开状态.
我看到如果我在发布模式下运行,程序退出后控制台窗口会保持不变,但在调试模式下,情况并非如此.
我不想添加'system("pause");' 或任何其他黑客,比如在我的节目中读一个角色.我只是想在调试运行测试之后使Visual Studio暂停,就像我在发布模式下运行一样.如果在Visual Studio的一个输出窗口中捕获测试的输出,我也会喜欢它,但这似乎也应该比它应该更难.
我怎样才能做到这一点?
我在C++中学到的第一件事就是
#include <iostream>
int main()
{
std::cout<<"Hello, World!\n";
return 0;
}
Run Code Online (Sandbox Code Playgroud)
只会出现并迅速消失而不会停顿.为了防止这种情况,我不得不去记事本,然后保存
helloworld.exe
pause
Run Code Online (Sandbox Code Playgroud)
ASE
helloworld.bat
Run Code Online (Sandbox Code Playgroud)
当我需要创建一堆小测试程序时,这很乏味,最终我只是把while(true);我的大部分测试程序放在最后,这样我才能看到结果.我可以使用更好的等待功能吗?
我经常听说使用system("PAUSE")是不好的做法std::cin.get()而是使用.现在我对系统调用的理解是它们将一个字符串输入到系统命令行并与操作系统通信,因此PAUSE是一个DOS命令,用于暂停命令窗口中的输出.我认为这与Mac和使用不同关键字的unix类似,并且由于缺乏跨操作系统兼容性而不鼓励使用系统调用.(如果我错了,请纠正我)
我的问题是:什么时候使用system()调用?它们应该如何应用?什么时候不应该申请?
可能重复:
如何阻止C++控制台应用程序立即退出?
所以即时学习c ++和我给出了这个例子,我想运行它.但我不能让它熬夜,除非我改变它.在我发布之后,如何让Microsoft Visual 2010在屏幕到达程序结束时保持屏幕状态?
#include<iostream>
using namespace std;
int area(int length, int width); /* function declaration */
/* MAIN PROGRAM: */
int main()
{
int this_length, this_width;
cout << "Enter the length: "; /* <--- line 9 */
cin >> this_length;
cout << "Enter the width: ";
cin >> this_width;
cout << "\n"; /* <--- line 13 */
cout << "The area of a " << this_length << "x" << this_width;
cout << " rectangle is " << …Run Code Online (Sandbox Code Playgroud)