Çë½Ì¸ßÊÖ£ºgethostbyname µÃ²»µ½Êµ¼ÊµÄIPµØÖ·£¿
ÎҵĻú×Ó×°ÓÐRedhat 9.2,»ú×ÓÉÏÍøºÍ¹¤×÷Ò»ÇÐÕý³££¬µ«ÎÒ±àдÈçϳÌÐò¶Î£¬Ö»ÏÔʾÊä³öÁËÒ»¸ö»ØË͵ØÖ·¡°127.0.0.1¡±£¬È´Ã»ÓÐÏÔʾʵ¼ÊµÄIPµØÖ·¡£ÇëÎʳÌÐòÄÄÓÐÎÊÌ⣿char name[255];
if( (gethostname(name, sizeof(name) ) ) < 0 )
{
fprintf(stderr,"%s: gethostname\n",strerror(errno));
exit(1);
}
struct hostent *hp;
hp = gethostbyname(name);
if(!hp)
{
fprintf(stderr,"%s: gethostbyname %s\n",hstrerror
(errno),name);
exit(1);
}
char *ip;
int i;
ip = inet_ntoa( *(struct in_addr * ) *hp->h_addr_list );
for( i=0; hp->h_addr_list[i]; i++)
{
printf("IP[%d]=%s",i,hp->h_addr_list[i]);
}
Ò³:
[1]