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

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

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

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


当前回答

Goto Debug菜单->按下StartWithoutDebugging

其他回答

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

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

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

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

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

只需要在最后一行代码中输入:

system("pause");

要么使用:

cin.get();

or

休息system (" ");

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

Goto Debug菜单->按下StartWithoutDebugging

一个更好的解决方案:

atexit([] { system("PAUSE"); });

在程序开始的时候。

优点:

可以使用std::exit() 可以从主有多个返回 您可以在调试器下运行程序 IDE独立(+ OS独立,如果你使用cin.sync();cin.ignore ();Trick而不是system("pause");)

缺点:

必须修改代码 不会暂停std::terminate() 仍然会发生在IDE/调试器会话之外的程序中;你可以在Windows下使用:


extern "C" int __stdcall IsDebuggerPresent(void);
int main(int argc, char** argv) {
    if (IsDebuggerPresent())
        atexit([] {system("PAUSE"); });
    ...
}