我的理解是,该函数char *tparm(char *str, ...);
只是将给定的字符串str
转换为扩展的参数化版本,该版本可以与 stdout 输出函数一起使用,如printf
或cout
.但是手册页提到——
参数化字符串应通过 tparm 传递以实例化它们。所有术语信息字符串[包括tparm的输出]都应使用tput或putp打印。
那么我可以解析terminfo条目并使用tparm()
传递适当的参数并使用stdout输出函数输出它们吗?此外,我正在检查非tty输出并忽略这些方法,因此我涵盖了该基础。
当然可以。但某些功能字符串包括填充和时间延迟,tparm
假设这些内容将由tputs
解释。
例如,flash
功能将使用时间延迟,这些延迟会传递给tputs
(使用terminfo(5)
手册页中描述的语法)。