如何获取本机的IP,主机名?
如何获取本机的IP,主机名? 问题点数:30、回复次数:7Top
1 楼todo(豆豆)回复于 2001-04-23 09:32:00 得分 0
getHostAddress得到IP,getHostName得到机器名Top
2 楼panda_w(好想睡啊!)回复于 2001-04-23 09:33:00 得分 0
such an old question!!!
u can find it ...Top
3 楼ggyy(带着一堆光棍找朋友!)回复于 2001-04-23 09:36:00 得分 0
主 题:什么函数能获得本机ip?
作 者:sunriselx
所属论坛:Visual C++
问题点数:20
回复次数:3
发表时间:2001-4-21 14:47:00
回复贴子:
回复人:sundayboys(sunboy) (2001-4-21 14:52:00) 得20分
char name[128];
hostent* pHost;
gethostname(name, 128);//获得主机名
pHost = gethostbyname(name);//获得主机结构
本地IP = inet_ntoa(*((in_addr *)pHost->h_addr)
回复人:ggyy(白发苍苍的老头????????????) (2001-4-21 14:53:00) 得0分
a
回复人:sunriselx() (2001-4-21 14:59:00) 得0分
谢了
Top
4 楼ginkgoboy(彝族舞曲)回复于 2001-04-23 10:24:00 得分 30
1、包含头文件:winsock.h
2、加入链接库: ws2_32.lib
3、譬如某按钮处理:
void CIPView::OnButton32771()
{
WORD wVersionRequested;
WSADATA wsaData;
char szHostName[128];
wVersionRequested=MAKEWORD(2,0);
if(WSAStartup(wVersionRequested,&wsaData)==0)
{
if(gethostname(szHostName,128)==0)
{
struct hostent* pHost;
int i;
pHost=gethostbyname(szHostName);
for(i=0;pHost!=NULL && pHost->h_addr_list[i]!=NULL;i++)
{
CString str;
int j;
for(j=0;j<pHost->h_length;j++)
{
CString addr;
if(j>0)
str+=".";
addr.Format("%u",(unsigned int)((unsigned char*)pHost->h_addr_list[i])[j]);
str+=addr;
}
AfxMessageBox(str);
}
}
WSACleanup();
}
}
//其中szHostName便是主机名啦
Top
5 楼ges()回复于 2001-04-23 13:22:00 得分 0
okTop
6 楼Imbeginner(狼之初)回复于 2001-04-23 16:24:00 得分 0
//取得计算机名
char ch[1024];
DWORD len=1024;
GetComputerName(ch,&len)
ch[len]='\0';
CString m_hostname(ch);
//取得IP
CString meip="";
UINT meport;
pClientSocket->GetSockName(meip,meport);
Top
7 楼111222(www.111222.cn)回复于 2001-04-23 16:38:00 得分 0
这个问题太老啦Top




