#c #linux #terminal
#c #linux #терминал
Вопрос:
является ли control-d знаком остановки по умолчанию для stdin?
В нашем домашнем задании говорится, что command-d будет останавливать ввод.
Это значение по умолчанию?
Ответ №1:
Ctrl-D в терминале Linux с настройками по умолчанию это маркер конца файла для stdin.
Смотрите также демистифицированный tty и команду stty(1) (и termios(3) …). Используйте, например, feof(3) после некоторой операции stdio или сравните результат getc(3) с EOF
(и т.д…..), Чтобы определить условия окончания файла!
Комментарии:
1. В Windows Ctrl-Z преобразуется в EOF. Хотите знать, почему.
2. @Jakub: Почему Windows использует Ctrl-Z? Я думаю, что короткий ответ — «история». Из Википедии: Ранние операционные системы DEC использовали это соглашение, которое было заимствовано CP / M, а позже, в свою очередь, было заимствовано и продолжено в операционных системах MS-DOS и Microsoft Windows.
3. Ага. Но кто-то, должно быть, сделал выбор в IBM / Microsoft. В любом случае, я хотел подчеркнуть, что это не был ответ на C, он зависит от платформы.