C++--cin.get() 大法

来源:互联网 发布:windows 虚拟打印机 编辑:程序博客网 时间:2024/05/01 13:49

前提:最近C++看的比较多,不明白的就比较多

 

话说大多数学 C++ 的同学写的第一个程序都是 Hello world,八成也都能跑出来。但是差不多都是 cmd 窗口就一闪而过了,什么都看不清楚。要解决这个问题,可以在 main() 中的 return 语句前加一句 cin.get()。这样的话,程序跑到这个位置就会停下来,等你输入一个字符。代码如下(以下代码用的 IDE 是 wxDev-C++):

但是,如果在 cin.get() 前有 cin,那么这个方法就很可能失效了。下面的这个代码中的 cin.get() 就不会其作用:

 

原因是,在第一次使用 cin 后,我们没有清空流。所以当第二次使用 cin 时,输入流不是空的(输入是一个数字(比如 4),后面是一个空白符;而 cin 将接受这个数字,但是剩余一个空白符)。所以,cin 会从输入流中提取,而不是要求键盘输入。

要使 cin.get() 大法还有用,可以配对使用 cin.clear() 与 cin.sync()。两个函数:cin.clear() 用于清除流的失败状态(如果有);而 cin.sync() 用于清空输入流。代码如下:

 

这样的话,cin.get() 就会请求键盘输入一个字符。

 

博主推荐了一个比较不错的C++跨平台,免费的,开源的集成开发环境Code::Blocks,我去下载一个,看看好用不!

原创粉丝点击