最近,我一直试图从这个网站学习c++。不幸的是,每当我试图运行其中一个代码示例时,我看到该程序打开了大约半秒钟,然后立即关闭。有没有办法阻止程序立即关闭,以便我能看到我的努力的成果?


当前回答

如果您正在使用Visual Studio,并且正在从IDE启动控制台应用程序:

按CTRL-F5(启动而不调试)将启动应用程序并保持控制台窗口打开,直到按下任何键。

其他回答

编辑:正如Charles Bailey在下面的评论中正确指出的那样,如果stdin中缓冲了字符,这将不起作用,而且真的没有好方法来解决这个问题。如果运行时附带调试器,John Dibling建议的解决方案可能是解决问题的最干净的解决方案。

也就是说,我把它留在这里,也许其他人会觉得它有用。在开发期间编写测试时,我经常使用它作为一种快速的方法。


在main函数的末尾,你可以调用std::getchar();

这将从stdin中获取单个字符,从而为您提供“按任意键继续”类型的行为(如果您确实想要“按任意键”消息,则必须自己打印一条)。

你需要为getchar添加#include <cstdio>。

我使用cin.get(),这是有效的,但有一天我需要使用另一个cin。get([数组变量])之前获取一个中间有空白字符的ling字符串。因此,cin.get()并没有避免命令提示符窗口关闭。最后我找到了另一种方法: 按CTRL+F5在外部窗口中打开,Visual Studio不再对其进行控制。只会在最后的命令运行后询问关闭。

你也可以坚持

while(true)
    ;

or

for(;;)
    ;

最后。

我通常只在main()的右大括号上加一个断点。当程序以任何方式结束时,断点将出现,您可以ALT-Tab到控制台窗口以查看输出。

而不是按下运行按钮,同时按CTRL和F5,它会给你按任意键继续消息。或者键入“(警告使用此仅用于测试而不是实际程序作为防病毒不喜欢它!!!!)”在你的主函数的末尾但是:(警告使用此仅用于测试而不是实际程序作为防病毒不喜欢它!!!!)