termdef 子例程
用途
查询终端特征。
库
标准 C 库 (libc.a)
语法
描述
termdef 子例程返回一个指向以 null 结束的静态字符串的指针,该字符串包含为由 FileDescriptor 参数指定的终端定义的特征的值。
异步终端支持
Shell 概要文件通常在每次登录时设置 TERM 环境变量。 斯特蒂 命令允许您 (通过使用 行 和 科尔斯 选项) 更改行和列。 这比更改 行 和 列 环境变量是首选的,因为 特姆迪夫 子例程最后检查环境变量。 如果存在以下情况,请考虑设置 行 和 列 环境变量:
- 您正在使用异步终端,并且想要覆盖 特温福 数据库中的 行 和 科尔斯 设置。
OR - 您的异步终端具有异常数量的行或列,并且您正在运行的应用程序使用 特姆迪夫 子例程,但运行的应用程序不使用 特温福 数据库 (例如 库塞斯)。
这是因为 curse 初始化子例程 设置术语 (setupterm 子例程) 调用 特姆迪夫 子例程来确定屏幕上的行数和列数。 如果 特姆迪夫 子例程无法提供此信息,那么 设置术语 子例程将使用 特温福 数据库中的值。
参数
| 项 | 描述 |
|---|---|
| FileDescriptor | 指定打开的文件描述符。 |
| 特征 | 指定要进行查询的特征。 可以指定下列值:
|
示例
- 要显示标准输入设备的终端类型,请输入:
printf("%s\n", termdef(0, 't')); - 要显示标准输出设备的当前行和列,请输入:
printf("lines\tcolumns\n%s\t%s\n", termdef(2, 'l'), termdef(2, 'c'));注: 如果 特姆迪夫 子例程无法确定行或列的值,那么它将返回指向空字符串的指针。