为啥 setupterm 会终止程序?
Posted
技术标签:
【中文标题】为啥 setupterm 会终止程序?【英文标题】:Why does setupterm terminate the program?为什么 setupterm 会终止程序? 【发布时间】:2011-02-28 16:04:18 【问题描述】:这是《Beginning Linux Programming》一书中的示例程序:
#include运行它,我得到了这个结果:
./badterm “未列出”:未知终端类型。根据setupterm函数定义,它必须返回0:“在terminfo数据库中没有匹配的条目”。取而代之的是程序终止。为什么?
【问题讨论】:
【参考方案1】:您似乎要求它这样做。来自我机器上的man setupterm
:
If errret is null, setupterm prints an error message upon finding an error and exits. Thus, the simplest call is: setupterm((char *)0, 1, (int *)0); which uses all the defaults and sends the output to stdout.
大概,如果你想自己处理任何错误返回,你必须为errret
(第三个)参数提供一个非空指针值。
【讨论】:
以上是关于为啥 setupterm 会终止程序?的主要内容,如果未能解决你的问题,请参考以下文章