Приложение командной строки C: как программно перемещать курсор - PullRequest
4 голосов
/ 10 июля 2010

Я пишу калькулятор командной строки на C, и было бы очень полезно, если бы он имел возможность перемещать курсор каждый раз, когда вы закрываете (например) скобку, выделяющую предыдущий, как в emacs и т. Д. *

Например, если вы запускаете emacs и набираете:

(blah)

затем на некоторое время после ввода закрывающей скобки первая подсвечивается.

Я попробовал поискать в Google, но я не знаю, что искать.

Существует ли простой и мультиплатформенный (по крайней мере, хорошо, если он будет работать в Linux, но я бы хотел, чтобы он работал по крайней мере и в Windows), чтобы перемещать курсор таким образом?

Ответы [ 4 ]

1 голос
/ 10 июля 2010

Проверить Коды ESC ANSI . Они довольно простые, но хорошее место для начала. В результате они работают для большинства терминалов (Linux и Windows).

1 голос
/ 10 июля 2010

ncurses сможет выполнить то, что вы просите.

1 голос
/ 10 июля 2010

Если вы хотите лучше контролировать консоль, взгляните на библиотеку ncurses .

Консоль Linux также может управляться с помощью кодов консоли . Библиотеки не нужны, просто printf соответствующие коды для stdout.

1 голос
/ 10 июля 2010

То, что вы должны искать, это 'termcap', 'terminfo' или 'curses.'

...