终止符EOF在windows平台中如何输入

来源:互联网 发布:数学建模优化模型 编辑:程序博客网 时间:2024/05/01 18:55

来自:http://zhidao.baidu.com/question/293245134.html?fr=qrl&cid=93&index=3

在windows平台,一般模拟eof的输入是在一个新行的开头输入ctrl + z就行了在unix环境下,是在一个新行的开始出输入ctrl + D就可以了
附上:
//三句话实现从屏幕中输入单词、按字母顺序排序,剔除重复单词后、输出到屏幕上。vector<string> v1((istream_iterator<string> (cin) ),(istream_iterator<string> () ));sort(v1.begin(),v1.end());//cout<<"\n out: \n";unique_copy(v1.begin(),v1.end(),ostream_iterator<string>(cout," "));解释来自:
http://blog.csdn.net/sandy_zc_1/article/details/6529304
STL实现就这么一点,恰三行代码。来稍微解释下:第一句定义了一个vector v1,并且在构造函数中传入两个输入流迭代器,这两个迭代器构成一个区间,表示输入的所有单词,直到输入终止(EOF)。这样v1就在创建的时候里面填满了输入的各个单词。第二句,使用sort对这个vector里面的元素进行排序。是的,不需要你写复杂的字符串比较函数,string内部带有operator < 的定义。而sort,只需要一个小于号即可运作。排序完毕后,所有单词就按照字母顺序从小到大整齐排列了。第三句,使用unique_copy来将v1中的数据拷贝到目标区间。unique_copycopy的不同之处就在于,它可以将连续的n个相同元素剔除掉其中的n-1个,只留下一个元素,从而实现unique的功能。这次拷贝的目标区间的起始又是流迭代器——这次是输出流迭代器,它将算法给它的数据输出到cout中,于是就显示在屏幕上了。很神奇,很强大吧。我觉得用这个例子来作为迭代器配接器介绍的结尾,挺好的。