windows下用C++获取本机IP地址
BSTR CamUtilsCtrl::GET_TERM_IP(void)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CString strResult;
// TODO: 在此添加调度处理程序代码
WSADATA wsaData;
WORD sockVersion = MAKEWORD(2,2);
//初始化socket环境
if(::WSAStartup(sockVersion,&wsaData)!=0)
{
tracelog3(LOG_INFO,"WSAStartup failed.ErrorCode=%d",GetLastError());
exit(0);
}
//获得主机名称
char szHost[256]={0};
::gethostname(szHost,256);
tracelog3(LOG_INFO,"主机名=%s",szHost);
//获得主机名称下的网络信息
hostent *pHost = ::gethostbyname(szHost); //返回指定主机名的包含主机名字和地址信息的hostent结构的指针
/*struct hostent
{
char *h_name; //正式主机名
char ** h_aliases; //主机别名
short h_addrtype; //主机IP地址类型:IPV4-AF_INET
short h_length; //主机I票地址字节长度,IPV4是4字节,即32位
char ** h_addr_list; //主机的IP地址列表
};*/
//处理获得的网络信息
in_addr addr;
CString strTmp,strBuf;
for(int i=0;;i++)
{
char *p = pHost->h_addr_list[i];
if(p==NULL)
break;
memcpy(&addr.S_un.S_addr,p,pHost->h_length);
char *slzp = ::inet_ntoa(addr); //将sin_addr储存的IP(数值)转换成字符串形式(127.0.0.1)
strBuf = slzp;
strTmp.Append((strBuf+"|"));
}
//关闭socket环境
::WSACleanup();
strTmp.TrimRight("|");
//EVTFSNMESSAGE(strTmp);
strResult = strTmp;
return strResult.AllocSysString();
}
windows下用C++获取本机IP地址的更多相关文章
- windows下用C++修改本机IP地址
两种方法 第一种.使用DOS命令(即时生效) 第二种.修改注册表(重启生效) 1.打开SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards ...
- Windows下获取本机IP地址方法介绍
Windows下获取本机IP地址方法介绍 if((hostinfo = gethostbyname(name)) != NULL) { #if 1 ; printf("IP COUNT: % ...
- QT5下获取本机IP地址、计算机名、网络连接名、MAC地址、子网掩码、广播地址
获取主机名称 /* * 名称:get_localmachine_name * 功能:获取本机机器名称 * 参数:no * 返回:QString */ QString CafesClient::get_ ...
- Linux下获取本机IP地址的代码
Linux下获取本机IP地址的代码,返回值即为互联网标准点分格式的字符串. #define ETH_NAME "eth0" //获得本机IP地址 char* GetLocalAdd ...
- java获取本机IP地址
转载自:http://blog.csdn.net/thunder09/article/details/5360251 在网上找了几个用java获取本机IP地址的代码,发现都少都有些不完美,自己整理了一 ...
- python获取本机IP地址
方法一 通常使用socket.gethostname()方法即可获取本机IP地址,但有时候获取不到(比如没有正确设置主机名称) import socket #获取计算机名称hostname=socke ...
- 详谈再论JAVA获取本机IP地址
首先,你如果搜索“JAVA获取本机IP地址”,基本上搜到的资料全是无用的.比如这篇:http://www.cnblogs.com/zrui-xyu/p/5039551.html实际上的代码在复杂环境下 ...
- 获取本机IP地址
这里有两种方法: //获取本机IP - (NSString *)localIPAddress { NSString *localIP = nil; struct ifaddrs *addrs; ) { ...
- 关于是用dotnet获取本机IP地址+计算机名的方法
印象中在maxscript帮助文档里找到过方法,但是当时没记下来.只能通过dotnet实现了. 如果电脑有无线网卡和本地连接,可能会出现乱码,也问了写dotnet的朋友,提供了一些思路,不过最终还是使 ...
随机推荐
- 简单AOP
代码如下 //使用说明 //1,新加接口与类 //2,新加类并实现ICallHandler类: ExecuteHandler //3,新建特性并实现HandlerAttribute和重写其中的Crea ...
- MongoDB 数据库命令
数据库命令 连接成功后,默认使用test数据库 查看当前数据库名称 db 查看所有数据库名称,列出所有在物理上存在的数据库 show dbs 切换数据库,如果数据库不存在也并不创建,直到插入数据或创建 ...
- 疯狂JAVA——第八章 java集合
集合类主要负责保存.盛装其他数据,因此集合类也被称为容器类. 数组元素既可以是基本类型的值,也可以是对象(实际上是保存的对象的引用): 集合里只能保存对象.
- linux下的计算器
(1)bc bc在默认的情况下是个交互式的指令.在bc工作环境下,可以使用以下计算符号:+ 加法 - 减法 * 乘法 / 除法 ^ 指数 % 余数如: 3+4;5*2;5^2;18/4 &l ...
- DDBS
distributed database system 分布式数据库系统
- EasyUI查询
<script type="text/javascript"> <!-- js --> function search_xxx() { var search ...
- LibreOJ 6282 数列分块入门 6(在线插入在线查询)
题解:还是分块,将每个块存入vector,然后在插入的时候就是sqrt(n)级的重构,如果块太大了,暴力将这个块拆开. 代码如下: #include<cmath> #include< ...
- phpStudy7——MySql数据库的增删查改
1. 添加数据: //添加数据 $strsql = "insert into user_info(userId,userName,phoneNumber,userScore,dataTime ...
- MD5加密获得文件的MD5码
哈希函数将任意长度的二进制字符串映射为固定长度的小型二进制字符串.加密哈希函数有这样一个属性:在计算不大可能找到散列为相同的值的两个不同的输入:也就是说,两组数据的哈希值仅在对应的数据也匹配时才会匹配 ...
- centos一键安装lnmp成功后无法访问ip(解决办法)
自己搞了个服务器 (我的服务器网络类型是 专有网络)如下图点击 配置规则 进入到 进.出端口规则配置 点击添加安全组规则 如图所配置 添加完成后 就如下面所示 (配置完成后 通过ip就已经可以访问了 ...