看板 C_and_CPP 關於我們 聯絡資訊
( *[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