首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++中关于cin输入流缓冲区的有关问题

2012-09-04 
c++中关于cin输入流缓冲区的问题比如 cinv1v2v3:一、输入1 2 回车这时窗口会等待你输入第三个数当输

c++中关于cin输入流缓冲区的问题
比如 cin>>v1>>v2>>v3:
一、输入1 2 回车 这时窗口会等待你输入第三个数 当输入3 回车后程序结束。
二、直接输入1 2 3 回车程序直接结束
那么是不是:
一、系统先把1 2放在cin对应缓冲区,然后以队列形式分别把1 2复制给v1 v2后再刷新等待输入第三个数
二、系统先把1 2 3放在cin对应缓冲区,然后以队列形式分别把1 2 3复制给v1 v2 v3并结束程序


也就是说cin在每次把自身值赋给对应变量时会自动刷新是不是?


[解决办法]
那么是不是:
一、系统先把1 2放在cin对应缓冲区,然后以队列形式分别把1 2复制给v1 v2后再刷新等待输入第三个数
二、系统先把1 2 3放在cin对应缓冲区,然后以队列形式分别把1 2 3复制给v1 v2 v3并结束程序

注意:cin是以空白字符结束输入,如果你在后面还有数据的话,都被存放到了输入缓冲区。等待下一个寄存器(也就是你自己定义的变量)来存放,所以,你输入1 2 3,一次放入你的变量中。

热点排行