获取本机IP地址程序

来源:互联网 发布:港版a1530支持什么网络 编辑:程序博客网 时间:2024/05/19 05:04

initsock.h

//////////////////////////////////////////////////////////// initsock.h文件#include <winsock2.h>#pragma comment(lib, "WS2_32")// 链接到WS2_32.libclass CInitSock{public:CInitSock(BYTE minorVer = 2, BYTE majorVer = 2){// 初始化WS2_32.dllWSADATA wsaData;WORD sockVersion = MAKEWORD(minorVer, majorVer);if(::WSAStartup(sockVersion, &wsaData) != 0){exit(0);}}~CInitSock(){::WSACleanup();}};

GetAllIps.cpp

////////////////////////////////////////////////// GetAllIPs.cpp#include "initsock.h"#include <stdio.h>CInitSock initSock;//初始化Winsock库void main(){char szHost[256];::gethostname(szHost, 256);//取得本地主机名称hostent *pHost = ::gethostbyname(szHost);//通过主机名得到地址信息//打印所有IP地址in_addr addr;for(int i=0; ; i++){char *p = pHost->h_addr_list[i];//指向一个32位的IP地址if(p == NULL)break;memcpy(&addr.S_un.S_addr, p, pHost->h_length);char *szIp = ::inet_ntoa(addr);printf("本机IP地址:%s \n", szIp);}getchar();}





原创粉丝点击