C ++使用istream_iterator复制和ostream_iterator输出

时间:2013-06-12 03:56:08

标签: c++ iostream istream-iterator

我尝试使用以下代码输入字符串,查找范围并复制到输出

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: " 

有什么提示输入?

谢谢!

0 个答案:

没有答案