次のコードを使用して、文字列を入力し、範囲を見つけて、出力にコピーしようとしました
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 だと思います。しかし、後で出力する必要がありますか?(ちなみに、最初と最後のイテレータが有効であることを確認するために、「開始」と「終了」を含む文字列を入力しました)。
上記のプログラムを IDE (Xcode) からも実行しましたが、入力用のコマンド ラインが表示されません。表示するものはありますか? または私はいくつかをしなければなりませんか
cout << "Please enter words: "
入力を求めるプロンプトの種類は?
ありがとう!