# include & lt; netdb.h> # include & lt; sys/socket.h> # include & lt; stdio.h> # include & lt; stdlib.h> # include & lt; sys/types.h> # include & lt; string.h> # include & lt; arpa/inet.h> # include & lt; netinet/in.h> int 主要(int 命令行参数个数,char * argv []) { char 才能;* ptr, * * pptr; struct 才能;hostent * hptr; struct 才能;in_addr  hpaddr;//使才能用argv[1]作为参数 ptr 才能=,argv [1];//调才能用gethostbyname函数,将结果存放到hptr中 如果才能((=hptr gethostbyname (ptr))==, NULL),,//如果调用函数失败 {才能 ,,,printf("解析域名% s失败。\ n”(ptr); ,,,return 0; ,,} ,,printf("目标的官方域名是% s \ n”, hptr→h_name);//由才能于目标可能有多个别名,所以统统打印 的才能(pptr =, hptr→h_aliases; * pptr !=,零;pptr + +) {才能 ,,,printf("目标的别名是% s \ n”, * pptr); ,,}//根才能据地址类型输出地址 开关才能(hptr→h_addrtype) {才能 ,,,case AF_INET: ,,,case AF_INET6:,,,//针对IPV4和IPV6均进行如下操作,因为之前没有休息 ,,,{ ,,,,,pptr =, hptr →, h_addr_list; ,,,,,,(零;;* pptr  !=, pptr + +) ,,,,,{ ,,,,,,,memcpy(及hpaddr pptr 4); ,,,,,,,printf("目标地址是:% s \ n”, inet_ntoa (hpaddr)); ,,,,,} ,,,} ,,,休息,,, ,,,默认值: ,,,,,printf("未知的地址类型\ n”); ,,} return 才能;0; }