#include "stdafx.h"
#include <stdio.h>
#include <winsock.h>
#include <windows.h>
#include <string.h>
void main()
{
struct hostent *thishost;
struct in_addr in;
char MYName[80];
char *Ptr;
WORD wVersionRequested;
WSADATA wsaData;
int err;
int i,n; //循环变量
wVersionRequested=MAKEWORD(2, 0); //设置winsock版本
err = WSAStartup(wVersionRequested, &wsaData); //启用winsock支持(增加winsock引用计数)
if(err != 0)
{
exit(0);
}
gethostname(MYName, 80); //取得主机名
thishost = gethostbyname(MYName); //取得主机的信息(IP等)
memset((void *)&in, sizeof(in), 0);
//取得循环次数(IP地址数)
n=strlen(*thishost->h_addr_list);
n=n/2;
for(i=0;i<n;i++)
{
in.s_addr = *((unsigned long *)thishost->h_addr_list[i]);
Ptr = inet_ntoa(in);
printf("IP地址%d:%s",i+1,Ptr);
}
WSACleanup(); //卸载winsock动态库(减少引用计数)
}
原文:https://blog.csdn.net/paopaoc/article/details/562447