如何防止输出屏幕在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):

  1. 使用Visual Studio Command Prompt程序编译并执行您的程序。
  2. 添加getchar(); 在返回操作系统之前。
  3. 添加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(); }