//获取本机IP地址
charPCname[100]={""};
char *IPaddress=NULL;
gethostname(PCname,sizeof(PCname));
printf("Local Hostname is%s.\n",PCname);
struct hostent FAR * lpHostEnt=gethostbyname(PCname);
if(lpHostEnt==NULL)
{
//产生错误
printf("gethostbynamefailed!\n");
return;
}
LPSTR lpAddr=lpHostEnt->h_addr_list[0]; //获取IP
if(lpAddr)
{
struct in_addr inAddr;
memmove(&inAddr,lpAddr,4);
//将一个32位数字表示的IP地址转换成点分十进制IP地址字符串
IPaddress=inet_ntoa(inAddr);
if(sizeof(IPaddress)==0)
printf("get host IP failed!\n");
else
printf("Local HostIP is%s.\n",IPaddress);
}