IPv4下调用方法:
inet_pton(AF_INET, "192.168.1.1", (void*)&s); //struct in_addr s; // IPv4地址结构体
//将点分十进制地址填充到in_addr结构中
IPv6下将二进制IP地址转换为字符串方法
inet_ntop(AF_INET6,(void*)p->ip_src->s6_addr,strip,sizeof(strip));
//p为IPv6头部指针,ip_src为IPv6头部中的源IP地址,strip为char数组,用于存放转换好的ASCII类型IPv6地址
//转换好后输出strip类似于:2001:470:23:13::6等标准IPv6地址书写格式
建议看看这本书《Linux就该这么学》
试了一下我也是啊,显示的是目前在用的地址吧,断了ipv6就好了