取本机IP

来源:互联网 发布:查字典c语言链表 编辑:程序博客网 时间:2024/04/30 09:36

#include <sys/types.h>
#include <utmpx.h>
#include <pwd.h>
#include <stdio.h>
int
main()
{
 char ipaddr[100];
 memset( ipaddr,0,sizeof( ipaddr ) );
 getclientaddr(ipaddr);
 printf( "ip==[%s]/n", ipaddr );
 return 0;
}
int
getclientaddr(char *outIpAddr)
{
        struct utmpx * entry=NULL;
        char * mytty;
        mytty=ttyname(0)+(unsigned char *)strlen("/dev/");
  /*** ttyname(0) 等价终端输入tty ****/
       
        setutxent();
        while(entry=getutxent())
        {
                if(!strcmp(entry->ut_line,mytty))
                {
                        strcpy(outIpAddr,entry->ut_host);
            endutxent();
                        return 0;
                }
        }
        endutxent();
        return -1;
}

//可参考:http://www.ejiaoxue.com/article/detail/61710.htm