Я начинаю разрабатывать приложение оболочки для запуска в терминале Linux для класса, который я беру.
Это, конечно, потребует чтения входных строк переменной длины (команды) от пользователя.Я знаю, что могу просто прочитать каждую команду в буфер такого размера, который я считаю подходящим, но это может либо а) усечь команду, либо б) вызвать переполнение буфера.
Если возможно,Как можно ограничить длину пользовательского ввода для консоли?
Скажем, если я установлю длину команды на 3, 123
будет разрешено, но если 123
уже присутствует во входной строке (до того, как пользователь нажал клавишу ввода), и пользователь попытался добавить 4
, ни один символ не будет печататься на консоли, возможно, даже с «пингом ошибки».
Я понимаю, что могу разработать такую функциональность, ноесли это необходимо, я не уверен, с чего начать.
Буду признателен за ранее существовавшее решение или за советы по реализации моего собственного решения.
Редактировать:
Полагаю, дешевым и простым решением было бы прочитать команду на символ за раз, пока не будет достигнут сигнал ввода или пока не будет достигнута максимальная длина.д.Возникнут ли проблемы с таким решением?