Нарисуйте таблицу в C-подобной таблице на странице руководства Linux - PullRequest
0 голосов
/ 01 июля 2018

Я хочу создать хорошие таблицы, которые вы видите на странице руководства Linux. на языке программирования Си. Существуют ли какие-либо библиотеки или функции для создания таких таблиц? Например, таблица, которую вы можете найти в системном журнале man, как показано ниже, создается с помощью команды man syslog:

   ┌──────────────────────┬───────────────┬────────────────────┐
   │Interface             │ Attribute     │ Value              │
   ├──────────────────────┼───────────────┼────────────────────┤
   │openlog(), closelog() │ Thread safety │ MT-Safe            │
   ├──────────────────────┼───────────────┼────────────────────┤
   │syslog(), vsyslog()   │ Thread safety │ MT-Safe env locale │
   └──────────────────────┴───────────────┴────────────────────┘

Ответы [ 2 ]

0 голосов
/ 01 июля 2018

Вероятно, это было сделано с помощью "tbl". Смотри man tbl. Также см. L. L. Cherry и документ М. Э. Леска "Tbl - программа для форматирования таблиц", который можно найти через Google.

Пример

Этот файл:

$ cat f.tbl
.TS
allbox;
c s s
c c c
n n n.
AT&T Common Stock
Year    Price   Dividend
1984    15-20   $1.20
5   19-25   1.20
6   21-28   1.20
7   20-36   1.20
8   24-30   1.20
9   29-37   .30*
.TE

* (first quarter only)

Произведено это (с tbl f.tbl > f.troff; nroff f.troff):

┌────────────────────────┐
│   AT&T Common Stock    │
├─────┬───────┬──────────┤
│Year │ Price │ Dividend │
├─────┼───────┼──────────┤
│1984 │ 15‐20 │  $1.20   │
├─────┼───────┼──────────┤
│   5 │ 19‐25 │   1.20   │
├─────┼───────┼──────────┤
│   6 │ 21‐28 │   1.20   │
├─────┼───────┼──────────┤
│   7 │ 20‐36 │   1.20   │
├─────┼───────┼──────────┤
│   8 │ 24‐30 │   1.20   │
├─────┼───────┼──────────┤
│   9 │ 29‐37 │    .30*  │
└─────┴───────┴──────────┘
* (first quarter only)
0 голосов
/ 01 июля 2018

Вы можете взглянуть на библиотеку ncurses здесь: http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...