Это, вероятно, сложнее, чем вы думаете. Для этого вам, вероятно, нужно будет контролировать отображение символов, которые печатает пользователь и т. Д.
Взгляните на библиотеку проклятий. Функция wgetch должна быть именно тем, что вам нужно, но сначала вам нужно инициализировать curses и т. Д. Прочтите справочные страницы - если вам повезет, вы найдете ncurses или curses-intro man-страницы. Вот фрагмент кода:
To initialize the routines, the routine initscr or newterm must be
called before any of the other routines that deal with windows and
screens are used. The routine endwin must be called before exiting.
To get character-at-a-time input without echoing (most interactive,
screen oriented programs want this), the following sequence should be
used:
initscr(); cbreak(); noecho();
Most programs would additionally use the sequence:
nonl();
intrflush(stdscr, FALSE);
keypad(stdscr, TRUE);
Если у вас нет этой справочной страницы / для получения дополнительной информации, посмотрите справочные страницы по отдельным функциям.