介绍
小编给大家分享一下c++怎样获取本机的IP地址,希望大家阅读完这篇文章之后都有所收获、下面让我们一起去探讨吧!
具体内容如下:
头文件
# include & lt; WinSock2.h> # pragma 评论(自由,“ws2_32")//链接到ws2_32动态链接库 class CInitSock { 公众: CInitSock才能(BYTE minorVer =, 2, BYTE majorVer =, 2) {才能 ,,,WSADATA wsaData; ,,,WORD VersionRequset; ,,,VersionRequset =, MAKEWORD (minorVer majorVer); ,,,//装载winsock库 ,,,if (WSAStartup (VersionRequset,和wsaData) !=0) ,,,{ ,,,,,//装载winsock库失败,推出 ,,,,,退出(0); ,,,} ,,} ~才能CInitSock () {才能 ,,,WSACleanup (); ,,} };
源代码文件
# include & lt; iostream> # include “a.h" using namespace 性传播疾病; CInitSock Initsock; bool GetIp (); int main () { GetIp才能(); return 才能;0; } bool GetIp () { char 才能szText [256];//才能获取本机主机名称 int 才能;iRet; 时间=iRet 才能;gethostname (szText, 256); int 才能;a =, WSAGetLastError (); if 才能;(iRet !=0) {才能 ,,,printf (“gethostname(),失败!“); ,,,return 假; ,,}//才能通过主机名获取到地址信息 HOSTENT 才能;* host =, gethostbyname (szText); if 才能;(NULL==主机) {才能 ,,,printf (“gethostbyname(),失败!“); ,,,return 假; ,,} in_addr 才能;PcAddr; for 才能;(int 我=0;;我+ +) {才能 ,,,char * p =,主机→h_addr_list[我]; ,,,if (NULL==p) ,,,{ ,,,,,休息; ,,,} ,,,memcpy (, (PcAddr.S_un.S_addr), p,主机→h_length); ,,,char * szIP =,:: inet_ntoa (PcAddr); ,,,printf(“本机的ip地址是:% s \ n", szIP); ,,} 系统才能(“pause"); }
看完了这篇文章,相信你对“c++怎样获取本机的IP地址”有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!