Доброго времени друзья!
Наверное через эту проблему если не все, то многие проходили.
Есть программа, читает из std::cin и пишет в std::cout таким образом:
Код на c++:
std::string line;
while(true){
std::cin >> line;
std::сout << "out: " + line << std::endl;
}
Если программку запустить в консоли, то она повторяет пользовательский ввод:
text
out: text
a
out: a
Но если передать на стандартный ввод этой программки строку из другой программы, то получается следующее:
text
out: text
out:
out:
out:
...
... бесконечный цикл вывода считанной пустой строки.
Подскажите пожалуйста, как сделать так, чтобы программа ожидала ввода в cin и не считывала из него пустую строку? Ведь в самый первый раз запуска она ожидает ввода, и после первого же сообщения со стандартного ввода начинает бесконечно писать пустую строку. Может флажочек нужно поменять какой у cin ?
Всем спасибо за идеи и участие!