Вопрос

Я делаю некоторое чтение, и я вижу, что я могу использовать GETCH (), чтобы получить ключ. Яснил, что это считается плохой практикой, однако я видел противоречивые мнения. Я пишу приложение консоли для моего класса, и хотел бы иметь возможность перемещать маркер (*) вокруг экрана на основе нажатия клавиш со стрелками. Является ли GETCH () правильный путь, чтобы пойти об этом, или есть лучший метод для его захвата. Я хочу, чтобы они просто могли толкнуть стрелу, не нужно нажать ввод или что-нибудь. Мне не нужен код конкретно, я просто хочу знать, если я должен избежать getch (), и если да, то какие функции есть для этого типа идеи.

Это было полезно?

Решение

getch() не является стандартной функцией в C или C ++. Он находится в некоторых устаревших компиляторах, таких как Турбо C. и это также определено в определенных обычно используемых библиотеках, таких как проклятия, но в любом случае это функция C, а не C ++. Для C ++ вы, вероятно, должны просто придерживаться стандартного C ++ ввода / вывода. Если вы не можете сделать это по некоторым причинам, то отправляйтесь на самый портативный вариант, например, проклятия.

Другие советы

Вы хотите прочитать от терминала в ненаническом режиме. Используйте TCSetattr (), чтобы отключить флаг ICANON.

Используйте GETCH (), если это работает. Почему бы нет?

В Windows вы можете использовать PDCurses: http://pdcurses.sourceforge.net/, что совместимо с NCurses.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top