system(“pause”)和getchar()
2024-09-03 22:01:53
大家都知道system(“PAUSE”)可以让C程序在运行结束之前暂停运行。用system(“PAUSE”)可以解决运行程序一闪而过,看不到输出结果的问题。有程序员会用system(“PAUSE”)只是为了能够让程序暂停,以便看到运行的结果。这就好比用大炮打蚊子杀鸡用牛刀。那么system(“PAUSE”)语句究竟怎么运行呢?
下面是关于system(“PAUSE”)的一些观点:
1.平台相关性。system(“PAUSE”)只限于有PAUSE系统命令的操作系统。像DOS系统或者Windows系统。但是在Linux或其他系统却不能,因此不具有可移植性。
2.资源消耗大。虽然可以起到暂停程序的效果,但是在这过程中,程序却占用了大量资源。 那么system()的运行过程是怎么样呢?
(1)暂停程序
(2)调用操作系统内核
(3)打开一个系统子程序
(4)查找系统命令PAUSE
(5)分配内存给PAUSE命令,并执行
(6)等待键盘输入
(7)释放PAUSE内存
(8)退出操作系统
(9)返回程序
3.为了执行system(“PAUSE”),需要加入stdlib.h,造成程序冗余。
解决方法:可以用getchar()或者 std::cin.get代替system(“PAUSE”) 。
最新文章
- 点击.box跟点击.box.box1
- [Unity游戏开发]向量在游戏开发中的应用(三)
- 如何解决Selenium中"Cannot find function addEventListener in object [object HTMLDocument]"的错误
- 高性能的JavaScript库---Lodash
- Python学习第八天(os)
- Kali Linux系列教程之OpenVas安装
- 修改Tomcat可支持get形式url长度
- BZOJ 2879 美食节(费用流-动态加边)
- Http方法:Get请求与Post请求的区别
- 2014多校第七场1005 || HDU 4939 Stupid Tower Defense (DP)
- .NET 轻量级 ORM 框架 - Dapper 介绍
- DevExpress ASPxHtmlEditor控件格式化并导出Word (修复中文字体导出丢失)
- 【Netty】Netty传输
- 一次关于mongodb性能踩坑的总结
- 非PE病毒介绍
- 好程序员web前端分享javascript关联数组用法总结
- linux下configure,make,make install的意义
- 界面设计-Edit控件的Style设置
- 哈密顿绕行世界问题(hdu2181)
- mysql 的indexof函数