Chinaunix首页 | 论坛 | 博客
  • 博客访问: 100066
  • 博文数量: 16
  • 博客积分: 530
  • 博客等级: 下士
  • 技术积分: 200
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-17 23:25
文章分类

全部博文(16)

文章存档

2014年(1)

2012年(2)

2011年(11)

2010年(2)

我的朋友

分类: C/C++

2011-08-07 10:06:07

CentOS 普通用户执行ipconfig 系统会提示未知命令,其实带路径 /sbin/ifconfig 执行就能成功,利用ipconfig命令,通过简单的代码就能获得系统IP地址列表,代码如下:
  1. //CentOS
  2. #define IPADDRESS_LEN 32
  3. #define GET_IP_CMD "/sbin/ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'"

  4. void get_host_ipaddr (char ip[][IPADDRESS_LEN], int maxip)
  5. {
  6.     char *pi, buff[1024];
  7.     int ret, idx;

  8.     memset (buff, 0, sizeof(buff));

  9.     ret = exec_cmd (GET_IP_CMD, buff, sizeof(buff)-1);

  10.     if (ret <= 0)
  11.         return;

  12.     idx = 0;
  13.     pi = strtok (buff, "\n");
  14.     while (pi)
  15.     {
  16.         strcpy (ip[idx], pi);

  17.         idx++;

  18.         if (idx >= maxip)
  19.             break;

  20.         pi = strtok (NULL, "\n");
  21.     }
  22. }
阅读(3806) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~