system(“pause”)和getchar()
2014-05-05 09:10
281 查看
大家都知道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”) 。
下面是关于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”) 。
相关文章推荐
- 求两个数最大公约数 并简单解析system(pause)和getchar()的区别
- 解决C/C++程序执行一闪而过的方法(使用getchar,或者cin.get,不推荐system(“pause”))
- system("pause") 和getchar()
- getch(),getchar(),system(pause)的联系和区别!!!
- 解决C、C++程序执行结果一闪而过的方法---system("pause")、getchar()、cin.get()
- 解决C、C++程序执行结果一闪而过的方法---system("pause")、getchar()、cin.get()
- 查看C/C++程序执行结果的方法------system("pause"),getchar(),cin.get()
- C++暂停黑窗口 system( “pause “);(getch(),getchar(),system(pause)的联系和区别!!!)
- getchar()和system(“pause”)让程序暂停的区别以及getchar()获取字符的方式
- C++使用system( “pause “);来暂停黑窗口
- system("Pause")
- system("pause")
- (十九)cin.get()和system("pause")
- 关于system(”pause“);的作用和意义
- 关于垃圾回收API的中文解说:System.pauseForGCIfCollectionImminent()
- system("pause")危害
- system("pause")
- syetem("pause")与getchar()在解决闪退问题时的区别
- syetem("pause")与getchar()在解决闪退问题时的区别
- C语言中system("pause")是什么作用?