#c #text #command-line-interface
#c #текст #интерфейс командной строки
Вопрос:
Глупый вопрос здесь, я ищу общий текстовый API для программ командной строки. Что-то вроде, ncurses
я думаю, подошло бы по всем статьям. В идеальном мире я хотел бы что-то переносимое между Windows и Linux, но пока это будет работать только в Linux.
Поскольку это, вероятно, ужасно расплывчато, вот что у меня есть на данный момент и куда я хочу перейти.
Что у меня есть на данный момент:
- Код, который создает область отображения в реальном времени в терминале Linux. Область отображения составляет примерно 50 строк на 100 столбцов или около того и поддерживается буфером массива символов того же размера. Я
cout
просматриваю текст 20 раз в секунду, каждый раз предваряя его кодом bash для перемещения курсора «вверх» на 50 строк (то есть,cout << "33[50A";
). - Это отлично работает для создания отображения обновлений в реальном времени с минимальным мерцанием, но у меня нет способа отправить входные данные в программу, о котором я могу подумать (то есть через терминал).
Куда я хочу пойти:
- Используйте какую-нибудь более мощную библиотеку, которая могла бы управлять буфером для меня и печатать экран, надеюсь, избавляясь от суперспециального кода bash
33[50A
. - Добавьте ввод командной строки в нижней части экрана, где пользователь может, пока экран обновляется, вводить определенные команды, чтобы заставить программу выполнить определенные действия.
Я видел, как это делают другие программы, как они это делают?
Ответ №1:
Я думаю, что библиотека «readline» делает многое из того, что вы хотите.