простой способ получить и распечатать ввод в окне - PullRequest
0 голосов
/ 25 февраля 2020

Я занимаюсь разработкой приложения в C с использованием ncurses, мне нужна коробка, где я могу получить пользовательский ввод, единственная проблема в том, что я не могу найти способ сделать это так, как мне нужно.

Например, ближайший ive - это подпрограмма mvwgetnstr(), однако она не выводит введенные символы обратно в окно, как я хочу. Я долго искал, но ничего не смог найти.

Спасибо за помощь!

edit: просто чтобы уточнить, мне нужна процедура типа mvwgetnstr() только с выводом ввода обратно в окно.

1 Ответ

1 голос
/ 25 февраля 2020

Страница руководства getstr сообщает вам:

Ввод символов отображается только в том случае, если echo в настоящее время включен. В этом случае backspace отображается как удаление предыдущего символа (обычно левое движение).

и страница справки echo дает вам дополнительная информация:

Подпрограммы echo и noecho контролируют, будут ли символы, набранные пользователем, отображаться getch (3x) при вводе. Отображение драйвером tty всегда отключено, но изначально getch находится в режиме echo , поэтому вводимые символы отображаются. Авторы большинства интерактивных программ предпочитают делать свое собственное эхо в контролируемой области экрана или вообще не делать эхо, поэтому они отключают эхо, вызывая noecho. [См. curs_getch (3x) для обсуждения того, как эти процедуры взаимодействуют с cbreak и nocbreak.]

Рекомендуемая страница справочника ncurses инициализация это с noecho; ваша программа может отключить это (или включить) в любое время.

...