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,那么 特帕尔姆 子例程将分别替换 p1p9的值。

返回值

成功完成后, 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");

对于 特帕尔姆 子例程:

  1. 保存用于将光标置于用户定义变量中的主位置的转义序列home_sequence,请输入:
    home_sequence = tparm(cursor_home);
  2. 要保存用于将光标移动到坐标 X = 的转义序列40, Y=18在用户定义的变量中move_sequence,请输入:
    move_sequence = tparm(cursor_address, 18, 40);