分享

关于vs2010运行C程序时,运行结果窗口一闪而过的问题

 宁静于内 2014-07-21

 (转)因为我们老师要求我们要会用VC++6.0和VS中的C++编程,今天正常安装好后,编写一个正确的程序,可运行的时候,DOS窗口一晃而过,也算是正常编译了,但我不懂的是它为什么消失得这么快?

会出现dos界面是因为你程序中可能用到了需要用dos显示结果(或者输入之类的)的函数,比如printf()函数,马上消失是因为你执行程序是一步到位的,dos界面做完你需要它做的事情之后就被销毁了,如果你想看清楚整个过程,可以设置断点,单步执行下,看看程序的运行过程

在谷歌和百度上查了,有这些解答:

1)你运行的应该是控制台应用程序,需要在main代码最后return 0之前添加一个暂停函数,该函数作用为从标准输入获取字符然后程序才会继续运行,比较典型的为c程序中可以用getchar() ,getchar()包含在头文件stdio.h中。也可以调用system("pause"); ,这是一个windows的cmd命令暂停,在控制台程序中体现为获得任意键盘消息后程序继续,被包含在c库stdlib.h中。

 

2)其实还有一个更好的解决办法:在你的项目条目(project)上右击鼠标,在弹出菜单上选择最后一项“property/属性”,在左边的一栏里找到“配置属性->链接器->系统”,点击“系统”项后,在右边的栏的“子系统(subSystem)”将刻项的值配置为"Console(/SUBSYSTEM:CONSOLE)"。

    经过这样的配置后,再按 Ctrl+F5,程序运行完毕后就会停留在控制台界面,提示你“按任意键继续”。 到此,问题完美解决。 

 

3)还可以通过设置断点,逐步调试看运行结果。

 

4)改运行方式        新开cmd.exe窗口:                        
       C:\> D:                                             //切换盘符
       D:\> cd  mypath                           // 切换目录

       D:\mypath>my.exe                     //执行程序:

  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多