相对于IP来说,人们更倾向于使用名字。
下面就学习几个常用的关于主机名和IP地址等相关的函数:
定义:
#include
int gethostname(char *name,size_t len);
参数说明:
name用于接受主机名信息,len为name的最大长度。
成功返回0;否则返回-1,错误信息保存在errno中。
用法与函数gethostname几乎一样。
这个函数的输入参数是想要查询的主机名,返回值是一个指向结构hostent的指针。
定义:
#include
extern int h_errno;
struct hostent *gethostbyname(const char *name);
struct hostent{
char h_name;//主机官方名
char **h_aliases;//别名清单
int h_addrtype;//地址类型
int h_length;//地址长度
char **h_addr_list;//地址清单
#define h_addr h_addr_list[0]
定义:
#include
struct hostent *gethostbyaddr(
const char *addr,
int len,
int type);