读书人

有关流迭代器的有关问题

发布时间: 2012-02-14 19:19:19 作者: rapoo

有关流迭代器的问题
ostream_iterator <string> out_iter(cout, "\n ");
istream_iterator <string> in_iter(cin),eof;
while(in_iter != eof)
*out_iter++ = *in_iter++;
这段代码为什么在输入today is a fine day后,最后一个单词day打印不出来,而要输入ctrl+Z后才能打印出来,而把循环体改为*out_iter++ = *in_iter;++in_iter;就能把输入的每一行单词完整打出来,难道与缓冲区刷新有关吗?希望各位大侠给予指点,多谢

[解决办法]
楼主其实应该打开istream_iterator的源码看看,就知道为什么会错了。
istream_iterator是在构造和++运算的时候从控制台获取数据的。
[解决办法]
到编译器的include目录里找“iterator”文件

读书人网 >C++

热点推荐