istream_iterator输入流结束问题
请看如下来自书《The C++ Standard Libray》代码:
//从标准输入读取所有输入文字\排序\将它们打印于屏幕
//stl/ioiter1.cpp
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <iterator>
using namespace std;
int main()
{
vector<string> coll;
/*read all words from the standard input
*- source: all strings until end-of-file(or error)
*- destination: coll (inserting)
*/
copy (istream_iterator<string>(cin), //start of source
istream_iterator<string>(), //end of source
back_inserter(coll)); //destination
//sort elements
sort (coll.begin(), coll.end());
/*print all elements without duplicates
*- source: coll
*- destination: standard output (with newline between elements)
*/
unique_copy(coll.begin(), coll.end(), //source
ostream_iterator<string>(cout, "\n")); //destination
system("pause");
}
为什么要用两次ctrl Z再加回车来结束输入流?
当我连续输入两个相同的字符,比如'x','x'时,再按回车,为什么就直接结束程序了,后面的sort()等都没有执行?
//从标准输入读取所有输入文字\排序\将它们打印于屏幕
//stl/ioiter1.cpp
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <iterator>
using namespace std;
int main()
{
vector<string> coll;
/*read all words from the standard input
*- source: all strings until end-of-file(or error)
*- destination: coll (inserting)
*/
copy (istream_iterator<string>(cin), //start of source
istream_iterator<string>(), //end of source
back_inserter(coll)); //destination
//sort elements
sort (coll.begin(), coll.end());
/*print all elements without duplicates
*- source: coll
*- destination: standard output (with newline between elements)
*/
unique_copy(coll.begin(), coll.end(), //source
ostream_iterator<string>(cout, "\n")); //destination
system("pause");
}
为什么要用两次ctrl Z再加回车来结束输入流?
当我连续输入两个相同的字符,比如'x','x'时,再按回车,为什么就直接结束程序了,后面的sort()等都没有执行?
...全文
相关推荐
istream_iterator 读取输入文件
使用istream_iterator 读取输入文件。使
C++迭代器介绍(iterator、const_iterator、reverse_interator、const_reverse_interator)
**const_reverse_iterator**: 这是const_iterator的逆向版本,同样不支持修改元素,但能反向遍历。
Iterator用法
### C++中的Iterator模式详解#### 什么是Iterator模式?在软件工程中,设计模式是一种用于解决特定问题的通用可重用解决方案。
详解Java中Iterable与Iterator用法
i;for(Iterator iterator = list.iterator(); iterator.hasNext(); System.out.println(i)){ i = (Integer)iterator.next
iterator_adaptor.pdf
**Category or Traversal**:迭代器的分类或遍历类型,如input_iterator_tag、forward_iterator_tag等。5.


