QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1191|回复: 1

help如何取得自己的ip?

[复制链接]
发表于 2004-9-9 10:38:58 | 显示全部楼层 |阅读模式
请教各位高手,如何取得自己的ip地址?
发表于 2004-9-9 10:43:43 | 显示全部楼层
[code:1]
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <net/if.h>
#include <net/if_arp.h>
#include <netinet/in.h>
main()
{
    int     fd_arp;
    struct  ifreq   ifr;
    char                device[32];
    struct sockaddr_in *sin_ptr;
    int ret,i;
    int p[4];

    strcpy(device,"eth0");
    fd_arp = socket(AF_INET, SOCK_PACKET, htons(0x0806));
    strcpy(ifr.ifr_name,device);
    if(fd_arp>=0)
    {
        ret=ioctl(fd_arp, SIOCGIFADDR, &ifr);
        if(ret>=0)
        {
            sin_ptr = (struct sockaddr_in *)&ifr.ifr_addr;
            for(i=0;i<4;i++)
            {
                p[i]=((sin_ptr->sin_addr.s_addr)>>(i*8))&0xff;
            }
            printf("ip address is:%d.%d.%d.%d\n",p[0],p[1],p[2],p[3]);
        }
    }
}
[/code:1]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-7 13:51 , Processed in 0.036357 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表