temp.c

来自「一个linux网络开发的示例」· C语言 代码 · 共 51 行

C
51
字号
#include <netdb.h> #include <stdio.h> #include <stdlib.h> #include <sys/socket.h> #include <netinet/in.h> /* 服务信息 */int main(int argc ,char **argv) { 	struct sockaddr_in addr; 	struct hostent *host; 	char **alias; 	if(argc<2) 	{ 		fprintf(stderr,"Usage:%s hostname|ip..\n\a",argv[0]); 		exit(1); 	} 	argv++; 	for(;*argv!=NULL;argv++) 	{ 		/* IP */ 		if(inet_aton(*argv,&addr.sin_addr)!=0) // 字符串IP->32位IP		{ 			host=gethostbyaddr((char *)&addr.sin_addr,4,AF_INET); // 32位IP->结构指针			printf("Address information of Ip %s\n",*argv); 		} 		else 		{ 			/* 域名 */ 			host=gethostbyname(*argv); // 机器名->结构指针			printf("Address information of host %s\n",*argv); 		} 		if(host==NULL) 		{ 			/* 不是IP和域名 */ 			fprintf(stderr,"No address information of %s\n",*argv); 			continue; 		} 		printf("Official host name %s\n",host->h_name); // 主机正式名称		printf("Name aliases:");                        // 主机别名		for(alias=host->h_aliases;*alias!=NULL;alias++) 			printf("%s\n",*alias); 		printf("Ip address:");                          // 主机IP		for(alias=host->h_addr_list;*alias!=NULL;alias++) 			printf("%s\n",inet_ntoa(*(struct in_addr *)(*alias))); // 32位IP->字符串IP	} } 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?