C++ использует istream_iterator для копирования и ostream_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 - единственный способ сообщить программе, что я закончил с вводом. Но это должно вывести потом? (кстати, я сделал вводные строки, включая "начало" и "конец", чтобы убедиться, что первый и последний итераторы верны).
Я также запустил вышеупомянутую программу из IDE (Xcode), но она не показывает никакой командной строки для ввода, есть ли какая-либо, чтобы показать это? или я должен сделать некоторые
cout << "Please enter words: "
вид подсказки для ввода информации?
Спасибо!