我正在编写 C++ 控制台程序。编译后,当我从文件浏览器运行程序时,cmd.exe 会自动关闭,这样我就看不到我的程序输出了。
我发现解决这个问题的唯一方法是从 cmd.exe 内部运行程序
程序完成运行后是否有保持 cmd.exe 打开的方法?
有没有我可以在某处更改的设置?我不想使用 cmd.exe /K 运行批处理脚本
谢谢!
[编辑] 不知道这是否重要,但我使用的是 Vista x64
您可以在启动 cmd.exe 时使用 /K 开关设置快捷方式,使其在运行给定命令后不会终止:
cmd.exe /K YourProgram.exe
让您的应用程序在退出前要求按键 - 这是最简单的解决方法!
我一直喜欢创建一个调用你的批处理文件然后调用暂停
Prog.exe 暂停
这将给出一个很好的“按任意键继续...”提示,它很简单,不需要修改程序。
作为main()
函数的最后一行,您可以添加以下行:
system("PAUSE");
另外,请确保#include <stdlib.h>
声明该system()
函数。这将使控制台暂停。但是,如果您的程序是从内部运行的cmd.exe
,这仍然会暂停,这可能是不可取的。
我知道你问过如何通过文件浏览器来做,但如果其他人对同样的问题感兴趣,但通过 Visual Studio:
最好在程序结束之前设置断点。
然后你可以部署你的 exe,你可以确保你不会忘记删除请求输入。这也比请求输入更好,因为在请求输入时注释掉并返回需要花费大量时间。
我认为最好不要要求输入,而是从启动的命令提示符启动程序。