У меня есть приложение, которое реализует интерактивную оболочку, подобно тому, как работает консоль/irb Python. Проблема заключается в том, что если пользователь случайно набрал ^D
EOF, и мой вызов getline()
возвращает пустую строку, которую я рассматриваю как «без ввода», и снова выводит приглашение.Игнорирование EOF на std :: cin в C++
Это приводит к бесконечному циклу, который печатает приглашение.
Теперь в Python я бы решил эту проблему, поймав EOFError
, но в C++ не было создано никаких исключений, я мог бы поймать, и на cin
не должно быть никакого значения, чтобы игнорировать EOF.
Любые подсказки?
Пока этого не сделать. По причинам, неизвестным мне, я только что получил новую учетную запись, хотя я вошел в систему с моим существующим: -/ –
@mitsuhiko Возможно, вы вошли в систему, используя другую учетную запись openid. –
Получил мой счет. Кажется, что stackoverflows поддержка делегата OpenID немного глючит –