Раньше я запускал cygwin на win8.1 и давал входные данные для программы CTRL-Z, используемой для обозначения EOF. Сегодня я установил cygwin на win10 и запустил «a.out». После ввода входных данных, когда я нажимаю CTRL-Z, я получаю сообщение «Suspended», и я возвращаю приглашение оболочки. Я пробовал это с bash и csh, таким же результатом. CTRL-D также не работает, он убивает оболочку.Что такое EOF в cygwin в окнах 10
Чтобы подтвердить, что это только эта проблема, и ничего больше, я создал новый файл input.txt и ввел в него соответствующие входные данные и запустил «a.out < input.txt», и он работал хорошо. Поэтому проблема заключается только в определении EOF для STDIN.
Как решить эту проблему?
Примечание: Я закрываю этот вопрос, и поставить в более подробно в новом вопросе reading till EOF in java on cygwin on windows-10
ctrl-z - это команда unix для приостановки процесса. Вы считали MSYS? ctrl-D работает там. –
Проверьте, как драйвер клавиатуры генерирует сигналы с помощью 'stty -a' (ищите' eof' под 'cchars'). Вы можете изменить настройки с помощью 'stty', но я не рекомендую это делать. CTRL + D «убивает оболочку», потому что вы отправляете оболочку EOF. Вы можете использовать 'set -o ignoreeof' – cdarke
Jean-Francoise: Я использую cygwin, а не msys. – R71