cin是一个容器,装水的容器,你可以一次倒一桶水进去,然后一滴一滴的取出来, 也可以,一次全部抽出来..要把 '/n'这个字符放入到这个容器中,只有一个办法,那就是按回车,回车以后,C++内定,程序接收来自键盘的信息完毕,继续运行程序,
当你输入一条 abcdefg回车
首先,cin把全部的东西全部装了起来,这时候,你可以使使 cout<<cin.rdbuf()<<endl;你就能看见cin里面剩下的东西了..
cin.get(s);取出1个字符,放入s中,cin里面还剩下bcdefg
主要是系统默认回车是一个输入的结束。要是你愿意。
当然,用getchar函数的话,就可以一直读下去了,不过也是不会像说所说那样,你输入一个(不加回车,系统就立即输出)。因为你在进行输入的时候,实际上是系统产生了一个中断,而直到你输入结束符(如回车),中断才会返回,系统才会进行下面的操作。
不信的话,你可以试试在输入语句加上一个断点,然后输入一些字符,不输入回车,你看系统不会不往下运行~~
因为cin.get()有缓冲,即直到你输入回车后才会被整体处理