如何防止输出屏幕在Visual Studio 2013 C ++编译器中消失
我刚刚下载了Visual Studio 2013.当我编译C时,它没有显示我的输出。 输出屏幕将显示一小段时间然后消失。
#include int main() { printf("hi"); return 0; }
“程序'[5688] Project1.exe’已退出,代码为0(0x0)。” 我知道我的代码工作正常并且运行正常,但我不能让输出屏幕保持打开状态而不会在一秒钟之后退出。
您可以在调试模式和发布模式下运行应用程序。 通常, Ctrl + F5
将在没有调试器的情况下运行应用程序。 而F5
只运行应用程序。
如果您执行Ctrl+F5
(“未启动调试”),控制台将在结束时保持打开状态,并要求您Press any key to continue . . .
Press any key to continue . . .
在这里你可以看到输出。
如果您只是使用F5
那么您处于调试模式。 最后在retuen 0;
之前添加getchar()
函数retuen 0;
所以控制台会等到你按任意键……
除了已经提到的内容之外,另一个选项是进入项目的属性并将Linker
选项中的System
部分中的Subsystem
更改为Console (/SUBSYSTEM:CONSOLE)
。 然后,当您使用ctrl+f5
(Debug / Start without debugging)运行程序时,控制台窗口将保留。
子系统选项的MSDN参考 。
你可以做几件事(我假设你正在使用Windows):
- 使用
Visual Studio Command Prompt
程序编译并执行您的程序。 - 添加
getchar();
在返回操作系统之前。 - 添加
system("pause");
在返回操作系统之前。
在return 0
之前添加此代码;
int num; scanf ("%d",&num);
要么
getchar();
我只是在return 0
语句中放了一个断点(F9键)。 仅在调试模式下工作,但这正是您想要的。 如果直接从命令行运行程序,它已按预期工作。
#include #include int main() { printf("hello world"); system("pause"); //this pauses the program until you press any key return 0; }
输出将是:
你好,世界
按任意键继续 …
我使用Visual Studio 2013 for Python,我也很难解决这个问题。 我的解决方案是按F5
而不是Ctrl + F5
,然后我将有2个弹出窗口(控制台和程序输出)。
我关闭控制台窗口,另一个将关闭。
我首先使用了提到的getchar()和断点解决方案,但是如果你想让程序结束(例如你正在使用内存泄漏检测器),那就不好了。 我通过将输出重定向到文件来解决这个问题。 您可以通过在项目属性的调试部分下的命令行选项中插入>output.txt
来完成此操作
为了防止屏幕关闭,您可以在Visual Studio中使用getchar(),如下所示:
#include "stdafx.h" #include #include using namespace std; int main() { cout << "Hello\n"; getchar(); }