49 C语言程序的暂停
来源:互联网 发布:cx域名不值钱吗 编辑:程序博客网 时间:2024/06/05 16:29
C学习网:链接->C学习网
C训练网:链接->C训练网
先来看一段简单的C语言代码:
- #include <stdio.h>
- int main()
- {
- printf("C语言中文网\n");
- return 0;
- }
程序运行到最后会自动暂停,并添加一行提示“请按任意键继续...”。用户按下键盘上的任何一个键,程序就退出了。而当我们在VS下点击“运行”按钮时,或者在工程目录下找到生成的 .exe 程序双击运行时,却只能看到一个黑影一闪而过。这是为什么呢?
main() 是程序的入口函数,同时也是退出函数。程序从 main() 开始执行,main() 结束时就退出,也即销毁进程。上面的代码中,仅有一条输出语句,没有暂停语句,程序运行到最后就会自动关闭,这是正常的流程。由于程序从执行到退出的时间非常短,窗口出现后瞬间消失,所以只能看到一道黑影。
而在 VC6.0、C-Free 下点击“运行”按钮时,IDE 会自动添加暂停功能,所以程序不会立即退出。这也迷惑了部分初学者,让大家误以为C程序本来就应该暂停的。其实不然,对于上面的示例,一闪而过的黑影才是正常的流程。
自己添加暂停功能
VC 6.0、C-Free 自动添加的暂停功能给我们提供了方便,让我们能够查看程序的运行结果。但如果在VS下运行程序,或者希望将自己的 .exe 程序分享给朋友,那就必须手动添加暂停功能。添加暂停功能有两种思路:一种是真正的暂停,两外一种是模拟暂停效果。
1) 使用 system() 函数
system() 函数位于 stdlib.h 头文件,用来执行系统命令,也就是 Windows 下的 DOS 命令,或 Linux 下的 Shell 命令。在 Windows 下,pause 命令用来暂停程序的执行,代码如下:
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- printf("C语言中文网\n");
- system("pause"); // pause不区分大小写,也可以写作PAUSE
- return 0;
- }
在 VC6.0、C-Free 下点击“运行”按钮的效果:
pause 是 DOS 下的命令,所以
system("pause");
只适用于Windows。而 Linux 下的 Shell 没有类似的命令,所以使用 system() 函数暂停程序比较困难。2) 模拟暂停功能
所谓暂停,无非是先输出提示语句,再等待用户输入,我们可以用C语言中的输入输出函数来模拟。请看下面的代码:
- #include <stdio.h>
- #include <conio.h>
- int main()
- {
- printf("C语言中文网\n");
- //模拟暂停功能
- printf("按任意键继续...");
- getch();
- return 0;
- }
由于 conio.h 是Windows下的头文件,Linux下没有,所以这种方式也只适用于Window。
总结:上面是Windows下常用的两种暂停程序的方法,读者可以根据自己的喜好来选择。
最后需要说明的是,Linux 下的C程序一般是通过终端(Terminal)来运行,程序关闭后会留下输出结果,所以不需要暂停功能,这里也就不再讲述了。
阅读全文
0 0
- 49 C语言程序的暂停
- windows系统下c语言暂停程序
- C语言中的时间和程序暂停
- C语言基础 程序暂停1秒钟
- c实现程序暂停的方法
- C语言中的暂停
- [ProblemSolving]c语言程序一闪就消失,如何让其暂停
- c语言的程序
- 程序的暂停sleep(),wait()
- 自己动手写C语言编译器(暂停)
- 暂停程序
- 程序暂停
- linux与win都可用的c语言pause()暂停功能
- c 语言小的程序
- fft的c语言程序
- 数码管的c语言程序
- c语言的搞怪程序
- c语言程序的运行
- 【SCOI2005】bzoj1086 王室联邦
- Lake Counting(POJ NO.2386)
- 1841: 小费
- IDA逆向常用宏定义
- Linux安装方法
- 49 C语言程序的暂停
- angular2父子组件的数据传递,子组件向父组件抛出数据
- 多线程-线程控制之休眠线程
- Android学习笔记ContentProvider
- 买啤酒
- [HDU]2255-奔小康赚大钱
- 26. Remove Duplicates from Sorted Array
- 关于Win10创意者更新之后蓝屏的修复办法
- 解决Gradle DSL method not found: 'compile()'错误的方法