4

我正在编写 C++ 控制台程序。编译后,当我从文件浏览器运行程序时,cmd.exe 会自动关闭,这样我就看不到我的程序输出了。

我发现解决这个问题的唯一方法是从 cmd.exe 内部运行程序

程序完成运行后是否有保持 cmd.exe 打开的方法?

有没有我可以在某处更改的设置?我不想使用 cmd.exe /K 运行批处理脚本

谢谢!

[编辑] 不知道这是否重要,但我使用的是 Vista x64

4

5 回答 5

7

您可以在启动 cmd.exe 时使用 /K 开关设置快捷方式,使其在运行给定命令后不会终止:

 cmd.exe /K YourProgram.exe
于 2009-06-07T22:43:38.367 回答
6

让您的应用程序在退出前要求按键 - 这是最简单的解决方法!

于 2009-06-07T22:11:33.673 回答
2

我一直喜欢创建一个调用你的批处理文件然后调用暂停

Prog.exe 暂停

这将给出一个很好的“按任意键继续...”提示,它很简单,不需要修改程序。

于 2009-06-07T23:17:24.070 回答
2

作为main()函数的最后一行,您可以添加以下行:

system("PAUSE");

另外,请确保#include <stdlib.h>声明该system()函数。这将使控制台暂停。但是,如果您的程序是从内部运行的cmd.exe,这仍然会暂停,这可能是不可取的。

于 2009-06-07T23:22:01.393 回答
1

我知道你问过如何通过文件浏览器来做,但如果其他人对同样的问题感兴趣,但通过 Visual Studio:

最好在程序结束之前设置断点。

然后你可以部署你的 exe,你可以确保你不会忘记删除请求输入。这也比请求输入更好,因为在请求输入时注释掉并返回需要花费大量时间。

我认为最好不要要求输入,而是从启动的命令提示符启动程序。

于 2009-06-07T22:36:36.680 回答