首页 > 代码库 > Linux下获取本机IP地址的代码

Linux下获取本机IP地址的代码

 

Linux下获取本机IP地址的代码,返回值即为互联网标准点分格式的字符串。

#define ETH_NAME  "eth0"//获得本机IP地址char* GetLocalAddress(){        int sock;        struct sockaddr_in sin;        struct ifreq ifr;               sock = socket(AF_INET, SOCK_DGRAM, 0);        if (sock == -1)        {                perror("socket");                return NULL;                       }               strncpy(ifr.ifr_name, ETH_NAME, IFNAMSIZ);        ifr.ifr_name[IFNAMSIZ - 1] = 0;               if (ioctl(sock, SIOCGIFADDR, &ifr) < 0)        {                perror("ioctl");                return NULL;        }        memcpy(&sin, &ifr.ifr_addr, sizeof(sin));    return inet_ntoa(sin.sin_addr);}