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的朋友,提供了一些思路,不过最终还是使 ...
随机推荐
- TortoiseGit 使用 HTTP 方式每次 PUSH 无需输入密码的方法
由于 BitBucket 被墙,导致使用时只能用HTTPS代理的方式,但TortoiseGit貌似没有记忆密码的功能,以至于每次push时都要求输入密码,很是麻烦!在网上搜到的保存密码的方式也有点笨. ...
- one by one 项目 part 5
问题汇总 一.Can't connect to MySQL server on 'localhost' (10061)翻译:不能连接到 localhost 上的mysql分析:这说明“localhos ...
- 关于sql 增删改
1.更改数据库的名称 --更改数据库的名称,逗号前面是之前的,后面是改成的名 sp_renamedb student,xuesheng 2.表中有数据的情况下再添加列.删除列 --后来添加列,只能默认 ...
- idea 打包java程序
创建maven项目 在pom.xml中添加: <build> <plugins> <plugin> <groupId>org.apache.maven. ...
- zoj1109-Language of FatMouse 【字典树】
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=109 Language of FatMouse Time Limit: 10 S ...
- python之socket运用之执行命令
服务端的代码 import socket import subprocess HOST = "127.0.0.1" PORT = 5001 ip_bind = (HOST,PORT ...
- [leetcode]367. Valid Perfect Square验证完全平方数
Given a positive integer num, write a function which returns True if num is a perfect square else Fa ...
- Message: u'The given selector btn dropdown-toggle btn-info is either invalid or does not result in a WebElement
html代码: <html> <head> <meta http-equiv="content-type" content="text/ht ...
- [转]Win7下PEiD已停止工作
转载自:http://www.programlife.net/peid-stop-working-under-win7.html PEID是一个很不错的工具,可查壳,查壳PE信息,借助插件还可以做一些 ...
- uploadify在chrome下初始化失败,在Firefox下却可以原因探析
如果没有报错,在其他浏览器下没问题,那就只有一种可能:浏览器flash加载失败,解决办法是,更改浏览器对站点flash的设置.参考下图: