09-Man 手册‎ > ‎

9.06. gethostname()

传回系统的主机名称(host name)

函数原型
#include <sys/unistd.h>
int gethostname(char *name, size_t len);
说明
你的系统有一个名字,大家都有的,这比较偏向 Unixy,而不是我们正在谈论的 networky,只是它仍有其用途。

例如:你可以取得你的主机名称,接着调用 gethostbyname() 找出你电脑的 IP address。

name 参数应该指向一个存有主机名称的缓冲区,而 len 是该缓冲区的大小,以 byte 为单位。gethostname() 不会覆写缓冲区的结尾(可能会传回错误,或者只是单纯停止写入),而且如果缓冲区有足够的空间,它还会保留字串的 NUL-结尾。

返回值
成功时返回零,或者错误时返回 -1(并设置相对应的 errno)。


范例
char hostname[128];

gethostname(hostname, sizeof hostname);
printf("My hostname: %s\n", hostname);
参照
gethostbyname()
Comments