这可能是一个令人尴尬的问题,因为答案无疑是显而易见的。

我已经使用Visual Studio很多年了,但这是我第一次做任何“控制台应用程序”开发。

当我运行我的应用程序时,控制台窗口弹出,程序输出出现,然后当应用程序退出时窗口关闭。

是否有一种方法可以让它一直打开直到我检查输出,或者在窗口关闭后查看结果?


当前回答

您可以从命令提示符运行可执行文件。这样您就可以看到所有的输出。或者,你可以这样做:

int a = 0;
scanf("%d",&a);

return YOUR_MAIN_CODE;

这样,直到您为a变量输入数据,窗口才会关闭。

其他回答

Visual Studio 2015,带有导入。因为我讨厌 当代码示例没有给出所需的导入时。

#include <iostream>;

int main()
{
    getchar();
    return 0;
}

Goto Debug菜单->按下StartWithoutDebugging

右键单击您的项目

属性>配置属性>连接器>系统

在子系统选项中选择控制台(/子系统:控制台),或者你可以在文本字段中输入控制台!

现在试试……应该可以

因为从VS运行它会附加VS调试器,你可以检查附加的调试器:

if (Debugger.IsAttached)
{
    Console.WriteLine("Debugger is attached. Press any key to exit.");
    Console.ReadKey();
}

我想唯一需要注意的是,如果附加任何其他调试器,它仍然会暂停,但这甚至可能是一种需要的行为。

这里有一个解决方案:(1)不需要任何代码更改或断点,(2)在程序终止后暂停,以便您可以看到打印的所有内容。它会在F5或Ctrl+F5后暂停。主要的缺点是在VS2013 Express上(根据测试),它不加载符号,所以调试非常受限。

创建批处理文件。我调用我的runthenpause.bat,有以下内容: %1 %2 %3 %4 %5 %6 %7 %8 9 暂停 第一行将运行您提供的任何命令和最多8个参数。第二行将…暂停。 打开项目属性|配置属性|调试。 将“命令参数”更改为$(TargetPath)(或“命令”中的任何内容)。 将“Command”更改为runthenpause.bat的完整路径。 点击确定。

现在,当您运行时,runthenpause.bat将启动您的应用程序,在应用程序终止后,将暂停以便您查看控制台输出。

我将张贴更新,如果我弄清楚如何获得的符号加载。我尝试了/Z7,但没有成功。