作者suspect1 ()
看板C_and_CPP
標題[問題] C 讀取 default gw IP
時間Tue Aug 31 14:58:37 2010
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )
遇到的問題: (題意請描述清楚)
在Linux底下想用 C 把系統的default gw ip讀取出來
目前想到的方法是
FILE* fd ;
char buf[128] ;
fd = popen("route -n","r") ;
fread(buf,sizeof(char),128,fd) ;
再從buf中找出IP
希望得到的正確結果:
請問是否有更好的方法?
程式跑出來的錯誤結果:
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
Linux
gcc-4.0.2
有問題的code: (請善用置底文標色功能)
補充說明:
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.104.51.10
推 alongalone:我看過的是結合sed或awk直接把結果丟出來,不去處理buf 08/31 15:09
→ richliu:route -n | grep '^0\.0\.0\.0' | awk '{print $2};' 08/31 17:53
→ richliu:都下 route -n 了, 不介意再加個 pipe 一次解決 08/31 17:53