C++ 通过主机名/域名获取IP 清泛原创 2016/11/08 代码如下: #include <winsock2.h> //该头文件定义了Socket编程的功能 #pragma comment(lib,"ws2_32.lib") //连接ws2_32.lib库.只要程序中用到Winsock API 函数,都要用到 Ws2_32.lib void GetHostIP(char *szIPAddr) { WSADATA wsaData; char name[155]; //定义用于存放获得主机名的变量 char *ip; //定义IP地址变量 PHOSTENT hostinfo; //调用MAKEWORD()获得Winsocl版本的正确值,用于下面的加载Winscok库 if ( WSAStartup( MAKEWORD(2,0), &wsaData ) == 0 ) { //加载Winsock库,如果WSAStartup()函数返回值为0,说明加载成功,程序可以继续往下执行 if( gethostname ( name, sizeof(name)) == 0) { //如果成功,将本地主机名存放入由name参数指定的缓冲区中 if((hostinfo = gethostbyname(name)) != NULL) { //这是获取主机,如果获得主机名成功的话,将返回一个指针,指向hostinfo,hostinfo为PHOSTENT型的变量。 ip = inet_ntoa (*(struct in_addr *)*hostinfo->h_addr_list); //inet_addr()函数把地址串转换为IP地址 //调用inet_ntoa()函数,将hostinfo结构变量中的h_addr_list转化为标准的IP地址(如202.197.11.12.) //printf(" IP地址: %s/n",ip); //输出IP地址 sprintf(szIPAddr,"%s",ip); } } WSACleanup(); //卸载Winsock库,并释放所有资源 } }C++CopyCompile & Run 不解释^_^。 C++ 主机名 域名 获取IP 对我有用(1)50%没啥用(1)50% 分享到: 上一篇:给VC/SDK中的应用程序加上皮肤(实例演示) 下一篇:MFC AfxMessageBox改变标题的几种方法 98%的人还看了 · c++提取复数的实部和虚部(2015-08-17) · C++模板-继承-具现化(2015-08-18) · C++ HICON与HBITMAP相互转换(2015-08-18) · CDHtmlDialog的基本使用(JS调用C++函数的实现)(2015-08-26) · CDHtmlDialog的基本使用(C++调用JS函数的实现)(2015-08-26)