MFC-获取本地IP地址并返回cstring

摘要:
=0){return_T("");}charszHostName[MAX_PATH]={0};intnRetCode;nRetCode=gethostname(szHostName,sizeof(szHostName));char*lpLocalIP;PHOSTENThostinfo;if(nRetCode!

获取IP地址并返回Cstring

CString CAddStdDlg::GetLocalIP()
{
	WSADATA wsaData;
	int err = WSAStartup(MAKEWORD(2, 0), &wsaData);
	if (err != 0)
	{
		return _T("");
	}

	char szHostName[MAX_PATH] = { 0 };
	int nRetCode;
	nRetCode = gethostname(szHostName, sizeof(szHostName));

	char* lpLocalIP;
	PHOSTENT hostinfo;

	if (nRetCode != 0)
	{
		WSACleanup();
		return _T("");
	}

	hostinfo = gethostbyname(szHostName);
	lpLocalIP = inet_ntoa(*(struct in_addr*) * hostinfo->h_addr_list);

	CString aa(lpLocalIP);

	WSACleanup();

	return aa;
}
void CMyDlg::GetHostAddress(CString &strIPAddr)
{
char    HostName[100];
gethostname(HostName, sizeof(HostName));// 获得本机主机名.

hostent* hn;
hn = gethostbyname(HostName);//根据本机主机名得到本机ip

strIPAddr=inet_ntoa(*(struct in_addr *)hn->h_addr_list[0]);//把ip换成字符串形式
}

//摘自 https://blog.csdn.net/imxiangzi/article/details/38264563

代码没有问题,在使用的时候 报错

warningC4996:'gethostbyname':Usegetaddrinfo()orGetAddrInfoW()insteadordefine_WINSOCK_DEPRECATED_NO_WARNINGStodisabledeprecatedAPI

这是因为新版本VS不支援该函数,需要修改下图中SDL检查 为 “否”

MFC-获取本地IP地址并返回cstring第1张

免责声明:文章转载自《MFC-获取本地IP地址并返回cstring》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C#设置System.Net.ServicePointManager.DefaultConnectionLimit,突破Http协议的并发连接数限制小程序input输入框获取焦点时,文字会出现闪动下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

极验验证码破解之selenium

大家好。我是星星在线,我又来了。今天,我给大家带来极性验证码的硒裂解方法。你有点兴奋吗?你们等不及了。让我们直奔主题。首先,随机找到一个特征点,检查元素,看它是否位于div元素,然后查看它后面的位置。距离已确定。以下是移动硒的大量模拟操作。我们只需要确认需要哪些接口。...

hiveserver2启动卡住问题解决方案

问题分析:hiveserver2可能是Hadoop集群进入安全模式,导致hiveserver2连接不上集群临时解决方案:离开安全模式即可#查看安全模式情况hdfsdfsadmin-safemodeget#离开安全模式hdfsdfsadmin-safemodeleave#进入安全模式hdfsdfsadmin-safemodeenter问题再分析:如何永久性的解...

WinSCP命令行操作

WinSCP命令行操作WinSCP是一个在Windows环境下使用SSH的开源图形SFTP客户端。它还支持SCP协议。它的主要功能是在本地和远程计算机之间安全地复制文件。在cmd下直接输入winscp,进入winscp操作界面。查看帮助。直接在下面输入帮助以查看所有可用命令。当第一个参数为“both”时,一个参数与另一个参数同步。未指定目录时,同步当前工作目...

Sublime Text3注册激活和部分配置

此时,我们可以输入要安装的插件包ConvertToUTF85。设置中文对齐方式、字体等//设置默认代码“default_encoding”:“UTF-8”,//显示代码“show_encoding”:true,//显示行号“show_line_endings”:true,//设置字号“font_size”:14,//设置字体对齐方式“font_options...

VS调试异常问题解决(一)

VisualStudio必须是"以管理员身份运行",即鼠标右键"以管理员身份运行",不是指你当前登录的账户是不是Administrator的问题。参考:VS调试时断点无法进入或命中的原因及解决方法当前不会命中断点,还没有为该文档加载任何符号参考:VS2017调试代码显示“当前无法命中断点,还没有为该文档加载任何符号”注:在mvc中视图cshtml中,如果代码...

Qt开发技术:QtCharts(一)QtCharts基本介绍以及图表框架详解

前话Qt自带的二维图标QCharts相关研发笔记。Qt图标概述Qt图表模块提供了一组易于使用的图表组件。更简单的解决方案是使用方便类QChartView而不是QChart在布局中显示图表。QChart载体类概述QChart类管理图表系列、图例和轴的图形表示。此外,使用QPolarChart类,可以将线、样条曲线、面积和散布序列表示为极坐标图。enumQCha...