C++如何获取本机的IP地址
2018-01-16 11:52
633 查看
本文为大家分享了C++获取本机的ip地址程序,供大家参考,具体内容如下
头文件
#include <WinSock2.h> #pragma comment(lib,"ws2_32")//链接到ws2_32动态链接库 class CInitSock { public: CInitSock(BYTE minorVer = 2,BYTE majorVer = 2) { WSADATA wsaData; WORD VersionRequset; VersionRequset = MAKEWORD(minorVer,majorVer); //装载winsock库 if (WSAStartup(VersionRequset,&wsaData)!=0) { //装载winsock库失败,推出 exit(0); } } ~CInitSock() { WSACleanup(); } };
源代码文件
#include <iostream> #include "a.h" using namespace std; 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() Failed!"); return FALSE; } //通过主机名获取到地址信息 HOSTENT *host = gethostbyname(szText); if (NULL==host) { printf("gethostbyname() Failed!"); return false; } in_addr PcAddr; for (int i=0;;i++) { char *p = host->h_addr_list[i]; if (NULL==p) { break; } memcpy(&(PcAddr.S_un.S_addr),p,host->h_length); char*szIP = ::inet_ntoa(PcAddr); printf("本机的ip地址是:%s\n",szIP); } system("pause"); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- ASP如何获取客户端真实IP地址
- 如何判断一个C++对象是否在堆栈上(通过VirtualQuery这个API来获取堆栈的起始地址,然后就可以得到答案了),附许多精彩评论
- C/C++ 中如何获取数组长度
- 如何获取手机端的IP地址
- java如何获取客户端真实IP地址
- 【网络】通过域名是如何获取IP地址的
- 如何在.NET中获取电脑名,IP地址, 用户名, 计算机所在域名
- C/C++&nbsp;中如何获取数组长度
- c++ 如何获取系统时间
- C++获取系统时间如何插入到MySQL里面的datetime型属性中
- java 如何获取客户端的真实IP地址
- 如何获取网络IP地址
- c#中如何获取本机用户名、MAC地址、IP地址、硬盘ID、CPU序列号、系统名称、物理内存
- 每天一个小练习--如何获取本机的IP地址
- C++如何获取文件属性
- C++ 如何获取目录下面的文件/文件的创建时间
- 如何获取域名(网址)对应的IP地址
- C++ 中通过GetAdaptersInfo获取网卡配置和Ip地址信息
- request.getRemoteAddr()如何获取用户真实的IP地址
- 如何命令行获取ip地址归属地 非网页形式