У меня есть stdin в наборе select()
, и я хочу брать строку из stdin всякий раз, когда пользователь вводит ее и нажимает Enter.
Но select запускает stdin как готовый к чтению до нажатия Enter и, в редких случаях, до того, как что-либо вообще будет набрано. Моя программа зависает на getstr()
, пока я не нажму Enter.
Я попытался установить nocbreak()
, и это действительно прекрасно, за исключением того, что ничего не отображается на экране, поэтому я не вижу, что печатаю. И установка echo()
этого не меняет.
Я также пытался использовать timeout(0)
, но результаты были еще более сумасшедшими и не работали.