VC++获取本机IP
voidCGetipDlg::OnButton1(){charszHostName[128]={0};gethostname(szHostName,128);hosten...
void CGetipDlg::OnButton1()
{
char szHostName[128] = {0};
gethostname(szHostName, 128);
hostent* phostent = gethostbyname(szHostName);
char* szIP = inet_ntoa(*(in_addr*)&phostent->h_addr_list[2]);
m_showip = szIP;
UpdateData(FALSE);
}
编译没有出错,执行时,单击按钮的时候出现内存读取错误,请问是怎么回事? 展开
{
char szHostName[128] = {0};
gethostname(szHostName, 128);
hostent* phostent = gethostbyname(szHostName);
char* szIP = inet_ntoa(*(in_addr*)&phostent->h_addr_list[2]);
m_showip = szIP;
UpdateData(FALSE);
}
编译没有出错,执行时,单击按钮的时候出现内存读取错误,请问是怎么回事? 展开
2个回答
展开全部
h_addr_list[2] 会不会是这个的错误?
我说的是linux下哈,windows下的不太了解,应该都差不多吧
普通用户一般都用 h_addr 宏,其实就是h_addr_list[0].
你获取3个ip吗?
如果你的机子只获取一个ip地址,那么就是数组越界了.
解决方法:吧h_addr_list[2]改成 h_addr_list[0] 或者 h_addr试试
我说的是linux下哈,windows下的不太了解,应该都差不多吧
普通用户一般都用 h_addr 宏,其实就是h_addr_list[0].
你获取3个ip吗?
如果你的机子只获取一个ip地址,那么就是数组越界了.
解决方法:吧h_addr_list[2]改成 h_addr_list[0] 或者 h_addr试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
深圳市睿讯世纪科技有限公司
2019-11-12 广告
2019-11-12 广告
提到ip远程kvm切换器的企业,深圳市睿讯世纪科技有限公司可以了解一下。深圳市睿讯世纪科技有限公司是集研发、生产、销售和售后服务于一体的综合型电子科技企业,精益求精,始终如一地专注于提供数据中心(IDC)管理的应用解决方案。...
点击进入详情页
本回答由深圳市睿讯世纪科技有限公司提供
展开全部
void CGetipDlg::OnButton1()
{
char szHostName[128] = {0};
gethostname(szHostName, 128);
hostent* phostent = gethostbyname(szHostName);
char* szIP = inet_ntoa(*(in_addr*)&phostent->h_addr_list[2]);
m_EDIT1 = szIP;
UpdateData(FALSE);
}
没有错误啊,其中m_EDIT1是一个edit框对应的变量
运行很好啊
{
char szHostName[128] = {0};
gethostname(szHostName, 128);
hostent* phostent = gethostbyname(szHostName);
char* szIP = inet_ntoa(*(in_addr*)&phostent->h_addr_list[2]);
m_EDIT1 = szIP;
UpdateData(FALSE);
}
没有错误啊,其中m_EDIT1是一个edit框对应的变量
运行很好啊
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询