下一篇: 8.2.4 Termcap 功能 上一层: 8.2 Termcap 库 上一篇: 8.2.2 查找终端
每一条信息都称为一个功能 (capability),每个功能 (capability) 都是一个双字母代码,并且每个双字母代码后面都跟随该功能 (capability) 的值。可能的类型有
- 数值型: 例如 co - 列数
- 布尔型 或 标志: 例如 hc - 硬拷贝终端
- 字符串型: 例如 st - 设置制表位
每个功能 (capability) 都与一个单一的值类型相关联。(co 始终是数值型,hc 始终是标志,st 始终是字符串型)。有三种不同的值类型,因此也有三个函数用于查询它们。char *name是功能的双字母代码。
- int tgetnum(char *name)
获取数值型的功能 (capability) 值,例如 co。tgetnum(...) 返回数值,如果该功能 (capability) 可用;否则返回 1。(注意:返回的值不是负数。) - int tgetflag(char *name)
获取布尔型(或标志)的功能 (capability) 值。如果标志存在,则返回 1;否则返回 0。 - char *tgetstr(char *name, char **area)
获取字符串型的功能 (capability) 值。如果存在,则返回指向字符串的指针;如果不存在,则返回 NULL。在 GNU 版本中,如果area为 NULL,termcap 将自行分配内存。Termcap 将不再引用此指针,因此请不要忘记在name退出程序之前释放内存。推荐使用此方法,因为您不知道指针需要多少空间,所以让 termcap 为您完成此操作。
转换于
Fri Mar 29 14:43:04 EST 1996