結合推文與鳥哥上面的資料,我想這是一種方式:
#include <stdio.h>
int main()
{
FILE* fd ;
int size;
char buf[128];
char command[128] = "/sbin/ifconfig eth0 | grep 'inet addr'
| sed 's/^.*addr://g' | sed 's/ *Bcast.*$//g'";
fd = popen(command,"r") ;
size = fread(buf,sizeof(char),128,fd) ;
buf[size - 1] = '\0';
printf("IP = [%s]\n", buf);
}
command 要整個串起來,不然就自己加個 \ 符號上去
那串 command 的意義,可以在這裡找到(搜尋「部分資料的搜尋並取代的功能」)
http://linux.vbird.org/linux_basic/0330regularex.php
跟讀出整個 buf 再自己處理,我想這個應該會比較簡單一點 XDDD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.117.171.46