Linux下如何使用gethostbyname来进行获取域名和IP地址示例

#include
#include
#include
#include //主要定义了格式转换函数
#include
int main(int argc, char *argv[])
{
struct hostent h;
char ip[24]={0};
char str[32];
if (argc != 2) { /
检查命令行 /
fprintf(stderr,“usage: getip address\n”);
exit(1);
}
if ((h=gethostbyname(argv[1])) == NULL) { /
取得地址信息 */
herror(“gethostbyname”);
exit(1);
}
inet_ntop(h->h_addrtype,h->h_addr,ip,INET_ADDRSTRLEN);//将获得二进制IP地址转换为十进制点分式;
printf("%d\n",INET_ADDRSTRLEN);//里面有此宏定义:#define INET_ADDRSTRLEN 16加粗样式
printf(“Host name : %s\n”, h->h_name);
printf(“ip:%s\n”,ip);
return 0;
}
运行输入示例:./你生成的的可执行文件 www.baidu.com

你可能感兴趣的:(计算机网络编程)