我尝试使用以下代码输入字符串,查找范围并复制到输出
int main(int argc, const char * argv[])
{
vector<string> vec;
copy(istream_iterator<string>(cin), istream_iterator<string>(),back_inserter(vec));
vector<string>::iterator first = find(vec.begin(),vec.end(),"start");
vector<string>::iterator last = find(vec.begin(),vec.end(),"end");
if(first < last)
copy(first,last,ostream_iterator<string>(cout,"\n"));
return 0;
}
我从unix命令行运行程序,并使用(ctrl + z)终止输入,但没有写入终端。我读了istream_iterator上的其他线程,我认为ctrl + z是告诉程序我完成输入的唯一方法。但是之后应该输出吗? (顺便说一句,我输入了包括&#34;开始&#34;和&#34;结束&#34;以确保第一个和最后一个迭代器有效的字符串。
我还从IDE(Xcode)运行了上述程序,但它没有显示输入的任何命令行,有没有显示它?或者我必须做一些
cout << "Please enter words: "
有什么提示输入?
谢谢!