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

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

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

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


当前回答

应该补充的是,从那时起情况已经发生了变化。在Windows 11(可能是10,我不能再检查了)上,新的终端应用程序现在包含各种控制台,PowerShell和其他会话,有自己的关闭设置。在设置中查找>默认>高级>配置文件终止行为。

如果它被设置为当程序以0退出时关闭,那么它将关闭,即使VS被告知相反的情况。

其他回答

要么使用:

cin.get();

or

休息system (" ");

确保将它们中的任何一个放在main()函数的末尾和return语句之前。

只需按CNTRL + F5在外部命令行窗口中打开它(Visual Studio无法控制它)。

如果这不起作用,那么在代码的末尾添加以下代码:

Console.WriteLine("Press any key to exit...");
Console.ReadKey();

这等待你按下一个键关闭终端窗口一旦代码已经结束。

如果你想在多个地方执行此操作,将上述代码放在一个方法中(例如private void Pause()),并在程序到达可能的结束时调用Pause()。

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

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

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

在项目属性的调试部分的命令参数框中添加“| pause”。

右键单击您的项目

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

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

现在试试……应该可以