C# · 12月 20, 2021

c/c++ getaddrinfo 函数(解析网址,返回IP地址)

网络编程 getaddrinfo 函数

解析网址,返回IP地址。

例子:

#include

#include

#include

#include

#include //结构体addrinfo,in_addr

#include

#include

using namespace std;

int main(){

char* hostname = “www.cnblogs.com”;//博客园的网址,返回实际IP地址

addrinfo hints,*res;

in_addr addr;

int err;

memset(&hints,sizeof(addrinfo));

hints.ai_socktype = SOCK_STREAM;

hints.ai_family = AF_INET;

if((err = getaddrinfo(hostname,NULL,&hints,&res)) != 0){

printf(“error %d : %sn”,err,gai_strerror(err));

return 1;

}

addr.s_addr = ((sockaddr_in*)(res->ai_addr))->sin_addr.s_addr;

printf(“ip addresss: %sn”,inet_ntoa(addr));//博客园的网址,返回实际IP地址

freeaddrinfo(res);

return 0;

}