Мое приложение считывает ввод пользователя с использованием std::cin
потока. В одном месте я хотел бы предоставить ввод по умолчанию и позволить пользователю принять его как есть (нажав enter) или изменить его перед продолжением (удалив старые символы с обратным пространством и добавив новый текст).Предоставление значения по умолчанию для ввода cin
Я знаю, что символы могут быть помещены непосредственно в cin.rdbuf
, но это не совсем то, чего я хочу достичь. Я хотел бы поместить символов в консольное окно в том месте, где курсор консоли находится в ожидании ввода пользователя и не читать их, прежде чем пользователь их примет. Пользователь должен также удалить их и написать собственный текст.
Может ли быть что-то подобное достигнуто с помощью cin
или мне нужно имитировать это, читая отдельные символы и перекрашивая содержимое консоли?
Если вы хотите иметь что-то например, предварительно заполненные маски экрана, а не поиск [ncurses] (http://hughm.cs.ukzn.ac.za/~murrellh/os/notes/ncurses.html). –
Для этого вам понадобится какая-то консольная библиотека, например [Microsoft] (https://msdn.microsoft.com/en-us/library/windows/desktop/ms682073%28v=vs.85%29.aspx? f = 255 и MSPPError = -2147217396) для Windows или [libreadline] (https://cnswww.cns.cwru.edu/php/chet/readline/rltop.html) или [ncurses] (https: //en.wikipedia. org/wiki/Ncurses) – kfsone