Ubuntu 16.04下,可编译通过:

 #include <stdio.h>
#include <ifaddrs.h>
#include <arpa/inet.h>
#include <cstring> #define MAX_LENGTH 254 int main(void)
{
char ipAddr[MAX_LENGTH]; ipAddr[] = '\0'; struct ifaddrs * ifAddrStruct = NULL;
void * tmpAddrPtr = NULL; if (getifaddrs(&ifAddrStruct) != )
{
//if wrong, go out!
printf("Somting is Wrong!\n");
return -;
} struct ifaddrs * iter = ifAddrStruct; while (iter != NULL) {
if (iter->ifa_addr->sa_family == AF_INET) { //if ip4
// is a valid IP4 Address
tmpAddrPtr = &((struct sockaddr_in *)iter->ifa_addr)->sin_addr;
char addressBuffer[INET_ADDRSTRLEN];
inet_ntop(AF_INET, tmpAddrPtr, addressBuffer, INET_ADDRSTRLEN);
if (strlen(ipAddr) + strlen(addressBuffer) < MAX_LENGTH - )
{
if (strlen(ipAddr) > )
{
strcat(ipAddr, ";");
}
strcat(ipAddr, addressBuffer);
}
else
{
printf("Too many ips!\n");
break;
}
}
//else if (ifaddrstruct->ifa_addr->sa_family == af_inet6) { // check it is ip6 /* deal ip6 addr */
// tmpaddrptr = &((struct sockaddr_in *)ifaddrstruct->ifa_addr)->sin_addr;
// char addressbuffer[inet6_addrstrlen];
// inet_ntop(af_inet6, tmpaddrptr, addressbuffer, inet6_addrstrlen); //}
iter = iter->ifa_next;
}
//releas the struct
freeifaddrs(ifAddrStruct); printf("The ips: %s\n", ipAddr); return ;
}

效果:

最新文章

  1. virtio-blk简介[转]
  2. JS json的使用
  3. XML文件数据操作
  4. 找规律 Codeforces Round #290 (Div. 2) A. Fox And Snake
  5. python 杨辉三角
  6. javascript 中的 true 或 false
  7. [原创] linux课堂-学习笔记-目录及概况
  8. 【转】Android 驱动开发系列四
  9. SQL SERVER 2012疑难问题解决方法
  10. Review1-11
  11. html 数字不转行问题
  12. postman 第6节录制case
  13. CoordinatorLayout的使用
  14. 为PHP摇旗呐喊!
  15. 用泛型创建SqlServerHelper类实现增删改查(一)
  16. SCNN车道线检测--(SCNN)Spatial As Deep: Spatial CNN for Traffic Scene Understanding(论文解读)
  17. android的消息通知栏
  18. RabbitMq (1)
  19. ACM-ICPC 2018 南京赛区网络预赛 L.Magical Girl Haze(分层最短路)
  20. 图形界面至少要有一个顶级Swing容器

热门文章

  1. Visual assint x(转)
  2. Joomla3x-CKEditor4x-WordPaster整合示例
  3. 使用JavaScript获取CSS伪元素属性
  4. java利用HttpClient进行https接口调用
  5. laravel中的验证及利用uploadify上传图片
  6. C++ 控制台编程
  7. 使用Go客户端访问MongoDB
  8. 网站运维之 使用IIS日志分析器1.03.exe进行IIS服务器日志分析
  9. HashMap源码解析 非原创
  10. “全栈2019”Java第四十三章:封装