#include "InitSock.h"
#include <stdio.h>
void main()
{
CInitSock initSock;
char szHost[256] = {0};
::gethostname(szHost, 256);
hostent* pHost = ::gethostbyname(szHost);
//in_addr是表示IP地址的结构
in_addr addr;
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* szIP = ::inet_ntoa(addr);
printf("本机IP地址为:%s\n", szIP);
}
printf("*******************************");
getchar();
}
打印结果:

本文介绍了一种使用C++编程语言获取本机所有IP地址的方法。通过调用gethostname和gethostbyname函数来获取主机名及其对应的IP地址,并利用in_addr结构体进行地址转换。
2209

被折叠的 条评论
为什么被折叠?



