gethostbyname示例

2022/9/16 6:19:52

本文主要是介绍gethostbyname示例,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

#include <netdb.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <stdlib.h>

const int inet_addrstrlen=16;

int main(int argc, char **argv) {
	char *ptr, **pptr;
	char str[inet_addrstrlen];
	struct hostent *hptr;

	while(--argc>0) {
		ptr=*++argv;
		if((hptr=gethostbyname(ptr)) == NULL) {
			fprintf(stderr, "gethostbyname error for host: %s: %s\n", ptr, hstrerror(h_errno));
			continue;
		}
		printf("official hostname: %s\n", hptr->h_name);

		for(pptr=hptr->h_aliases; *pptr!=NULL; pptr++) {
			printf("\talias: %s\n", *pptr);
		}

		switch(hptr->h_addrtype) {
		case AF_INET:
			pptr=hptr->h_addr_list;
			for(;*pptr!=NULL;pptr++) {
				printf("\taddress: %s\n", inet_ntop(hptr->h_addrtype, *pptr, str, sizeof(str)));
			}
			break;
		default:
			fprintf(stderr, "unknown address type\n");
			break;
		}
	}
	exit(0);
}

  



这篇关于gethostbyname示例的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程