我的理解是,函数char *tparm(char *str, ...);只是将给定的字符串str转换为一个扩展的参数化版本,这对于stdout输出函数如printfcout来说是很好的。但是man page提到-
参数化的字符串应该通过tparm来实例化它们。所有terminfo字符串[包括tparm的输出]应使用tputs或putp打印。
所以我可以解析terminfo条目并对它们使用tparm()来传递适当的参数,然后使用stdout输出函数输出它们吗?另外,我正在检查非tty输出并忽略这些方法,这样就覆盖了基类。

最佳答案

当然可以。但是,一些功能字符串包括填充和时间延迟,这tparm假定将由tputs解释。
例如,flash功能将使用时间延迟,并将其传递给tputs(使用terminfo(5)手册页中描述的语法)。

10-08 04:12