2010-08-18 2 views
0

У меня нет большой заинтересованности в проектировании guis (слишком много работы), и я хочу знать, как работают такие программы, как vim и жадность, как это сделать, что vim может изменить стандартную версию без печати всего снова, и я часто вижу вывод терминальных программ в ярких цветах, есть ли какой-то язык разметки, который сообщает терминалу, какие цвета делают шрифты ?, и когда я использую «cin», как терминал знает, что программа ожидает ввода ?, или это просто позволяет помещать вещи в стандартную версию, когда программа приостанавливается? и как я могу получить программу для чтения других стандартов программы? Я использую C++ в качестве языка, на терминале Ubuntu linux 10.04, спасибо!У кого-нибудь есть дополнительная информация о стандарте и стандарте?

+4

Я думаю, что здесь есть 3 или 4 отдельных вопроса. –

+0

Приобретено, потому что искатель хочет знать, как использовать терминальные функции, но не знал, что просить, и поэтому задал кучу связанных вопросов. –

ответ

0

Если вы хотите форматированный вывод на экран вы должны смотреть на termcap

Использование выхода из других программ осуществляется с помощью pipes

3

Для интерактивного программирования терминала, проверить Curses. Эта библиотека (и более поздние NCurses) позволяет вам программировать графические интерфейсы с использованием терминала. Каждый тип терминала поддерживает различные функции, такие как позиционирование курсора, цвета и т. Д. (Документируется через базу данных terminfo).

Для получения информации о переадресации ознакомьтесь с этой статьей на Streams. Каждый процесс может связываться с родительским процессом через 3 потока - stdout/stderr/stdin.

Я бы посмотрел на Unix Power Tools как отличный ресурс для этих типов вопросов.

-1

Чтобы ответить только на ваш первый вопрос (одно домашнее правило на StackOverflow состоит в том, что вы задаете один вопрос на вопрос), он может использовать ANSI escape codes, хотя, вероятно, вместо этого используется библиотека типа Curses.

1
  1. проклятий/Ncurses
  2. TERMCAP/TERMINFO
  3. Поскольку FD0 считывается из.
  4. Ключи вставляются в терминал с помощью терминала, когда они происходят, и они выходят каждый раз, когда он читается.
  5. popen(3), pipe(2), или трубопроводы в оболочке.