C++primer 8.1.2节练习
练习8.1、练习8.2
1 #include <iostream> 2 #include <string> 3 #include <vector> 4 using namespace std; 5 6 istream &readPrint(istream &is); 7 8 istream & readPrint(istream & is) 9 { 10 auto old_state = cin.rdstate(); 11 string i; 12 while (!is.eof()) 13 { 14 is >> i; 15 cout << i << " "; 16 } 17 cin.setstate(old_state); 18 return is; 19 // TODO: 在此处插入 return 语句 20 } 21 22 int main() 23 { 24 readPrint(cin); 25 system("pause"); 26 return 0; 27 }
练习8.3
当输入的类型与i的类型不符或者无法隐式转换成i的类型时,循环将会停止,即当流的状态为fail或者bad或者到达文件末尾时,循环结束。