练习8.1 编写函数,接受一个istream&参数,返回值类型也是istream&. 此函数须从给定流中读取数据,直至遇到文件结束标识时停止。它将读取的数据打印在标准输出上。完成这些操作后,在返回流之前,对流进行复位,使其处于有效状态。
istream &func(istream &is){ int num; auto old_state = is.rdstate(); while(is.eof() != true) { is >> num; cout << num << endl; } is.clear(); return is;}int main(void){ func(cin); return 0;}
这段代码没有什么,很顺利的就能运行出来
练习8.2 测试函数,调用参数为cin
练习8.3 什么情况下,下面的while循环会结束
while(cin >> i) /* ... */
8.2.1节练习
练习8.4: 编写函数,以读模式打开一个文件,将其内容读入到一个string的vector中,将每一行作为一个独立的元素存于vector中,ex8_4.cpp:22:22: error: variable ‘std::ifstream in’ has initializer but incomplete type
ifstream in(ifile);段错误 (核心已转储)