今天调试运行程序时,发现每次运行时窗口一闪而过的处理办法,在程序return之前添加getchar()函数竟然不管事了。于是查找原因,后面发现了以下几种解决办法以及对应的知识内容,记录下来。
自己在前面的代码中使用了cin,输入一个变量的值。在输入变量的值后,我们都要键入一个回车符号作为结束符,而cin函数是不会读入空格和回车符,只是把他们作为区分不同变量和结束的标志。那么键入回车符后,回车符便被存入了输入缓存区,当程序结束时调用getchar函数时,会立即将之前缓存区中的回车符读入,所以程序将继续运行,导致不能够作为窗口停留。
- getchar/cin/cin.get/cin.getline等几个不同的输入函数之间的区别,详见http://blog.csdn.net/oier00lcj/article/details/78152243
- 在程序结尾添加system("PAUSE");函数的语句,此语句能够将程序停止于此处,并且按任意键继续。
- 利用编译器VS调试时,不使用
(快捷键F5)这个默认调试按钮,而是运行:开始执行(不调试)(快捷键Ctrl+F5),但此按钮只用于查看程序运行结果的情况,不能设置断点等功能。可以将开始执行(不调试)按钮添加到快捷命令栏中
,
方便下次使用。添加的步骤如下:


后面就可以看到快捷栏有一个开始执行(不调试)的符号了,在只需要查看代码运行效果的时候就可以方便快捷的,使用它了。是不是省心了许多。
- 仍然在程序结尾添加getchar()函数,等待输入字符。但是此前添加一个语句清楚输入缓冲区字符。添加的语句如下:while ((c = getchar()) != '\n' && c != EOF); /*直接运行可清除输入缓存流*/
相关文章:
-
2022-01-13
-
2021-11-23
-
2022-12-23
-
2021-07-16
-
2021-10-18
-
2022-12-23
-
2022-12-23
-
2022-12-23
猜你喜欢
-
2022-01-06
-
2021-10-18
-
2022-12-23
-
2022-12-23
-
2021-10-12
-
2022-12-23
-
2021-08-19
相关资源
-
下载
2022-12-27
-
下载
2021-07-01
-
下载
2021-07-14