
如何用c++ 编个程序看本机的IP
2个回答
2008-02-26
展开全部
要使用winsock API。
/*获取计算机名称*/
char szHostName[128]; //将本机的名称存入一维数组,数组名称为szHostName
struct hostent * pHost; //定义结构体 hostent
int i; //定义变量i
LVITEM lvi;
lvi.mask=LVIF_IMAGE|LVIF_TEXT;
lvi.iItem=0;
lvi.iSubItem=0;
lvi.iImage=0;
if(gethostname(szHostName,128)==0) //如果本机的名称查到,则将其名称送入List控件
{
m_ListCtrl.InsertItem(lvi.iSubItem, szHostName,lvi.iImage);
pHost = gethostbyname(szHostName);
for( i = 0; pHost!= NULL && pHost->h_addr_list[i]!= NULL; i++ )
{
LPCSTR IPAddress=inet_ntoa (*(struct in_addr *)pHost->h_addr_list[i]);
m_ListCtrl.SetItemText(0,1,IPAddress);
}
}
else
{
CString String;
String.LoadString(IDS_COMPUTERNAME_ERROR);
m_ListCtrl.InsertItem(lvi.iSubItem,String,lvi.iImage);
String.LoadString(IDS_IPADDRESS_ERROR);
m_ListCtrl.SetItemText(0,1,String);
}
/*获取计算机名称*/
char szHostName[128]; //将本机的名称存入一维数组,数组名称为szHostName
struct hostent * pHost; //定义结构体 hostent
int i; //定义变量i
LVITEM lvi;
lvi.mask=LVIF_IMAGE|LVIF_TEXT;
lvi.iItem=0;
lvi.iSubItem=0;
lvi.iImage=0;
if(gethostname(szHostName,128)==0) //如果本机的名称查到,则将其名称送入List控件
{
m_ListCtrl.InsertItem(lvi.iSubItem, szHostName,lvi.iImage);
pHost = gethostbyname(szHostName);
for( i = 0; pHost!= NULL && pHost->h_addr_list[i]!= NULL; i++ )
{
LPCSTR IPAddress=inet_ntoa (*(struct in_addr *)pHost->h_addr_list[i]);
m_ListCtrl.SetItemText(0,1,IPAddress);
}
}
else
{
CString String;
String.LoadString(IDS_COMPUTERNAME_ERROR);
m_ListCtrl.InsertItem(lvi.iSubItem,String,lvi.iImage);
String.LoadString(IDS_IPADDRESS_ERROR);
m_ListCtrl.SetItemText(0,1,String);
}

2023-07-25 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效...
点击进入详情页
本回答由Storm代理提供
2008-02-26
展开全部
相当简便:
main()
{
clrscr();
system("ipconfig");
getch();
}
main()
{
clrscr();
system("ipconfig");
getch();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询