如何结束命令行输入。#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;int main()
{
vector<string> col1((istream_iterator<string>(cin)),(istream_iterator<string>()));
sort(col1.begin(),col1.end()); unique_copy(col1.begin(),col1.end(),
ostream_iterator<string>(cout,"\n"));
return 0;
}上面的代码执行后,不知道如何使cin结束。
#include <string>
#include <algorithm>
#include <vector>
using namespace std;int main()
{
vector<string> col1((istream_iterator<string>(cin)),(istream_iterator<string>()));
sort(col1.begin(),col1.end()); unique_copy(col1.begin(),col1.end(),
ostream_iterator<string>(cout,"\n"));
return 0;
}上面的代码执行后,不知道如何使cin结束。
若后面有
int i;
cin>>i;
i将不会被录入。
_Where = insert(_Where, *_First);这是vector构造时的某块代码,_First即你的istream_iterator<string>(cin)
_Last即你的istream_iterator<string>(),由于你没指定给_Lasy值,所以operator != 操作始终为真,故陷入死循环.
vector <string> col1((istream_iterator <string>(cin)),(istream_iterator <string>()));
使用 ctrl-z结束后,调用 cin.clear()重置输入流后面的cin>>i就可以继续使用了