2012-08-06 60 views
3

回答another question,我偶然发现一个名为herror的函数的man page。它看起来非常像perror,只是它打印与某些主机查找问题有关的错误。该手册页声明此功能“已过时”。函数hsterror可用于将错误号码转换为字符串而不打印它也被标记为过时。不赞成

我没有看到任何迹象显示,以为什么其中一方是过时的,什么更换应改为使用。那么,在GNU libc linux系统中,将一个模糊的h_errno错误号变成用户可读的字符串的首选方法是什么?是否每个小应用程序都应该发布自己的翻译表,并且希望可能的错误代码不会很快改变?

回答

4

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

gethostbyname(3) man page

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

+0

谢谢!这个消息看起来比我先读的消息稍微不明显。一个链接到新手册页会很好,但无论如何,一旦我被允许,我会接受这个答案。 – MvG 2012-08-06 17:08:43

+0

@MvG:你很受欢迎。链接添加。问候 – jxh 2012-08-06 17:09:53