在C++ primer 中经常遇见while(cin&&cin.get()=='/n')的语句,此循环就是处理掉多余的流。
实验代码如下:
1. string b;
char a[10];
cin.get(a,10);
while (cin.get()!='/n')
continue;
cin>>b;
cout<<a<<endl;
cout<<b;
2.string b;
char a[10];
cin.get(a,10);
cin>>b;
cout<<a<<endl;
cout<<b;
第2段代码中a[10]接收10个字符后多余的字符全部进入了b中,第1段代码中由于执行了while代码,进入数组a后面的字符全部被cin.get()从输出流中“提取”掉,所以b就不能接收多余的流,也就是过滤掉了多余的流