tigetflag , tigetnum , tigetstr 或 tparm 子例程
用途
从 特温福 数据库检索功能。
库
Curses 库 (libcurses.a)
语法
#include <term.h>
int tigetflag(char *capname,);
int tigetnum(char *capname);
char *tigetstr(char *capname);
char *tparm(char *cap,
long p1, long p2, long p3,
long p4, long p5, long p6
long p7, long p8, long p9);描述
tigetflag, 蒂格努姆和 蒂格特海峡 子例程分别从 terminfo 数据库的所选记录中获取布尔能力,数字能力和字符串能力。 对于每个功能,要用作 capname 的值将显示在第 296 页的 6.1.3 部分的表中的 Capname 列中。
特帕尔姆 子例程将字符串能力作为 帽 。 如果 帽 已参数化 (如第 313 页的第 A.1.2 节中所述) ,那么 特帕尔姆 子例程将解析参数化。 如果参数化的字符串引用参数 %p1 到 %p9,那么 特帕尔姆 子例程将分别替换 p1 到 p9的值。
返回值
成功完成后, tigetflag, 蒂格努姆和 蒂格特海峡 子例程将返回指定的功能。 如果 capname 不是布尔能力,则tigetflag子程序返回-1。 如果 capname 不是数字能力,则tigetnum子程序返回-2。 如果 capname 不是字符串功能,那么 蒂格特海峡 子例程返回 (char *) -1。
成功完成后, 特帕尔姆 子例程将返回 海峡 并解析参数化。 否则,它将返回空指针。
参数
| 项 | 描述 |
|---|---|
| * capname | |
| * tparm | |
| 长 p1 | |
| 长 p2 | |
| 长 p3 | |
| 长 p4 | |
| 长 p5 | |
| 长 p6 | |
| 长 p7 | |
| 长 p8 | |
| 长 p9 |
示例
对于 tigetflag 子例程:
要确定擦除叠印是否为当前终端定义的布尔功能,请使用:
rc = tigetflag("eo");对于 蒂格努姆 子例程:
要确定标签数是否为当前终端的已定义数字能力,请使用:
rc = tigetnum("nlab"); 对于 蒂格特海峡 子例程:
以确定是否 "turn on soft labels" 是当前终端的已定义字符串功能,请执行以下操作:
char *rc;
rc = tigetstr("smln");对于 特帕尔姆 子例程:
- 保存用于将光标置于用户定义变量中的主位置的转义序列home_sequence,请输入:
home_sequence = tparm(cursor_home); - 要保存用于将光标移动到坐标 X = 的转义序列40, Y=18在用户定义的变量中move_sequence,请输入:
move_sequence = tparm(cursor_address, 18, 40);