使用cin.get()而不是system("pause")来避免c++程序一闪而过
2013-10-06 10:06
267 查看
c++编译出来的控制台程序在单独执行时往往一闪而过,看不到输出的结果,为了解决这个问题,有很多人使用system("pause")来暂停,但是这样都很多坏处,有两个理由
一 : 可移植性差
二 : 消耗资源很大,无论是在Windows还是linux
不要用system("pause")来暂停,可以改用std::cin.get()或getchar()
为何不要用system("pause")?
贵在那里?让我们来看看system("pause")的流程
1 : 暂停你的程序
2 : 在sub-process中启动Shell
3 : 寻找要执行的命令并为之分配内存
4 : 等待输入
5 : 回收内存
6 : 结束Shell
7 : 继续你的程序
综上,请使用std::cin.get()或getchar()来暂停c++程序的执行
PS:原文http://www.gidnetwork.com/b-61.html
一 : 可移植性差
二 : 消耗资源很大,无论是在Windows还是linux
不要用system("pause")来暂停,可以改用std::cin.get()或getchar()
为何不要用system("pause")?
贵在那里?让我们来看看system("pause")的流程
1 : 暂停你的程序
2 : 在sub-process中启动Shell
3 : 寻找要执行的命令并为之分配内存
4 : 等待输入
5 : 回收内存
6 : 结束Shell
7 : 继续你的程序
综上,请使用std::cin.get()或getchar()来暂停c++程序的执行
PS:原文http://www.gidnetwork.com/b-61.html
相关文章推荐
- 解决C、C++程序执行结果一闪而过的方法---system("pause")、getchar()、cin.get()
- 解决C/C++程序执行一闪而过的方法(使用getchar,或者cin.get,不推荐system(“pause”))
- 解决C、C++程序执行结果一闪而过的方法---system("pause")、getchar()、cin.get()
- 查看C/C++程序执行结果的方法------system("pause"),getchar(),cin.get()
- C++第1天:在C和C++里,要尽量避免使用 system("pause")
- 解决C、C++程序执行结果一闪而过的方法---system("pause"
- 在C和C++里,要尽量避免使用 system("pause")
- (十九)cin.get()和system("pause")
- system("pause")在使用freopen时失效
- C++使用system带参数调用exe程序并把结果输出到文件
- 【让你的C++程序更加高效】条款01:尽量使用常量/内联而不是预处理器/宏定义
- 异常详细信息: System.Data.SqlClient.SqlException: 无法打开物理文件 。。。 操作系统错误 32:"32(另一个程序正在使用此文件,进程无法访问。
- C++中cin.get(),cin.getline(),cin>>,gets(),cin.clear()使用总结
- C++中的system("pause");
- C++中cin.get(),cin.getline(),cin>>,gets(),cin.clear()使用总结
- 【让你的C++程序更加高效】条款03:尽量使用new/delete而不是malloc/free
- system("pause")使用时要加头文件iostream.h
- C/C++程序计时函数gettimeofday的使用
- C++避免程序运行完后窗口一闪而过的方法
- C++ cin.getline()函数的使用