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

вид подсказки для ввода информации?

Спасибо!

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]