Имеет ли смысл попытаться открыть tty в двоичном режиме?
Я наткнулся на этот код C. Он использует freopen для повторного открытия стандартного ввода в двоичном режиме:
if (!isatty(STDIN_FILENO))
freopen(NULL, "rb", stdin);
Я не понимаю, откуда взялся этот тест. Значит ли это, что нет смысла открывать терминал?
Что было бы не так с пропуском теста isatty, оставив
freopen(NULL, "rb", stdin);
1 ответ
isatty()
функция является стандартом POSIX.
Я думаю, что имеет смысл сделать это, если вы хотите убедиться, что обрабатываете файл, который читается (я полагаю, через перенаправление ввода оболочки) в двоичном режиме.