• 4916阅读
  • 2回复

从ifconfig里提取设备名 [复制链接]

上一主题 下一主题
离线浪迹江湖
 

只看楼主 倒序阅读 楼主  发表于: 2009-06-01
我运行了ifconfig命令,
eth0      Link encap:Ethernet  HWaddr
          inet addr: Bcast: Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:74163 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11945 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:16694007 (15.9 MiB)  TX bytes:1862246 (1.7 MiB)
          Interrupt:37 Base address:0x6000

lo        Link encap:Local Loopback
          inet addr: Mask:
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:132 errors:0 dropped:0 overruns:0 frame:0
          TX packets:132 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:9928 (9.6 KiB)  TX bytes:9928 (9.6 KiB)
wlan0     Link encap:Ethernet
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:34 dropped:169 overruns:0 frame:0
          TX packets:886 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000

我想动态的提取前面的eth0,wlan0...网络设备,放入QStringList里,
而不要后面那一坨说明信息,我该怎么做,思维一片空白,如果过滤该怎么
过滤呢,谢谢高手

离线eysler
只看该作者 1楼 发表于: 2009-06-01
我对qt不是很熟,不过大体这种gui软件都有执行外部script的功能,你利用一个script对信息进行处理得到相应的string line,然后在通过qt来调用这个script就可以了,再把输出input到stringList中就行了。
离线shiroki

只看该作者 2楼 发表于: 2009-06-01
ifconfig | grep "Link encap"
这样得到的就是带设备名的那些行, 一行一行处理, 把第一个单词读出来就行了阿。
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
快速回复
限100 字节
 
上一个 下一个