在VS中按Ctrl−F5执行程序时控制台窗口一闪而过自动关闭的问题

在VS2010、VC++2010学习版、VS2012等环境中,编制控制台应用程序,按Ctrl−F5执行程序时,可能会出现控制台窗口一闪而过自动关闭的情况。通常,有两种途径来创建控制台应用程序,只是形式不同、并无实质区别。

途径1:文件−新建−项目−Win32控制台应用程序−勾选″空项目″,如下图所示:

vcpp_16

vcpp_17

vcpp_18

vcpp_19

途径2:文件−新建−项目−空项目,如下图所示:

vcpp_16

blog_01

凡通过途径1创建的C、C++控制台应用程序,按Ctrl−F5执行程序时,一定不会出现控制台窗口一闪而过的情况,而是提示″请按任意键继续…″。

凡通过途径2创建的C、C++控制台应用程序,按Ctrl−F5执行程序时,一定会出现控制台窗口一闪而过自动关闭的情况。

因此,如果是从头新建,当然要选择途径1。如果是从别处拿来的现成程序,可以按下面方法处理:

找到扩展名为.vcxproj的文件,用记事本或其它文本文件编辑器打开它,在其文本内容

­        <Project>

­          ……

­        </Project>

最后一行</Project>之前,插入下面这段代码:

­        <ItemDefinitionGroup>
­            <Link>
­              <SubSystem>Console</SubSystem>
­            </Link>
­         </ItemDefinitionGroup>

问题即可解决。插入后的模样如下:

­        <Project>

­         ……

­        <ItemDefinitionGroup>
­            <Link>
­              <SubSystem>Console</SubSystem>
­            </Link>
­         </ItemDefinitionGroup>

­        </Project>

对于学习或实验而言,当程序调通无误后,还需要在main函数的末尾添加语句

­         system(″pause″);

且在程序开头添加#include <stdlib.h>以支持调用system函数,最终生成release版的EXE文件,以保证在离开VS环境之后,在Windows平台资源管理器中,鼠标双击这个EXE文件执行时,控制台窗口才不会自动关闭,完成并体会开发过程的最后一步。当然,如果提前添加system(″pause″);还可防止VS中的控制台窗口一闪而过。

对于实际开发而言,要根据具体情况,采用其它方法来保证控制台窗口适时关闭。

赞赏

返回