加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C++获取本机IP地址列表

发布时间:2020-12-16 07:44:20 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 /* * main.c * ---------------------------------------------- * 2013-01-09 [email?protected] * * [BUILD] * gcc -o main main.c -Wall * */ #inc

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

/*
 * main.c
 * ----------------------------------------------
 * 2013-01-09 [email?protected]
 *
 * [BUILD]
 * gcc -o main main.c -Wall
 *
 */
 
#include <stdio.h>
 
#include <netdb.h>
#include <ifaddrs.h>
 
// 系统定义的结构,贴在这里方便大家查阅,也可man getifaddrs查看。
// struct ifaddrs {
//     struct ifaddrs  *ifa_next;    /* Next item in list */
//     char            *ifa_name;    /* Name of interface */
//     unsigned int     ifa_flags;   /* Flags from SIOCGIFFLAGS */
//     struct sockaddr *ifa_addr;    /* Address of interface */
//     struct sockaddr *ifa_netmask; /* Netmask of interface */
//     union {
//         struct sockaddr *ifu_broadaddr;
//                          /* Broadcast address of interface */
//         struct sockaddr *ifu_dstaddr;
//                          /* Point-to-point destination address */
//     } ifa_ifu;
// #define              ifa_broadaddr ifa_ifu.ifu_broadaddr
// #define              ifa_dstaddr   ifa_ifu.ifu_dstaddr
//     void            *ifa_data;    /* Address-specific data */
// };
 
int main(int argc,char **argv)
{
    struct ifaddrs *ifa;
    if (getifaddrs(&ifa) != 0) {
        return -1;
    }
     
    for (; ifa!=NULL; ifa=ifa->ifa_next) {
        struct sockaddr_in *sin = (struct sockaddr_in*)ifa->ifa_addr;
        if (sin->sin_family != AF_INET) {
            continue;
        }
 
        unsigned char *b = (unsigned char *)(&sin->sin_addr.s_addr);
        printf("%st%u.%u.%u.%un",ifa->ifa_name,b[0],b[1],b[2],b[3]);
    }
 
    return 0;
}

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读