3

在回答另一个问题时,我偶然发现了一个名为herror. perror除了打印与某些主机查找问题相关的错误外,它似乎非常相似。手册页指出此功能“已过时”。hsterror可用于将错误号转换为字符串而不打印它的函数也被标记为已过时。

我没有看到任何迹象表明为什么它们中的任何一个都已过时,以及应该使用什么替代品。那么,h_errno在 GNU libc linux 系统上将晦涩的错误号转换为用户可读字符串的首选方法是什么?每个微小的应用程序都应该提供自己的转换表,并希望可能的错误代码集不会很快改变吗?

4

1 回答 1

4

它们已经过时了,因为它们已经gethostbyname*过时了。改为使用getaddrinfo,并gai_strerror用于错误。

gethostbyname(3)手册页

gethostbyname*() 和 gethostbyaddr*() 函数已过时。应用程序应改为使用getaddrinfo(3)getnameinfo(3)

于 2012-08-06T17:05:10.687 回答