[問題] C 讀取 default gw IP

看板C_and_CPP (C/C++)作者時間15年前 (2010/08/31 14:58), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/2 (看更多)
( *[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

08/31 15:09, , 1F
我看過的是結合sed或awk直接把結果丟出來,不去處理buf
08/31 15:09, 1F

08/31 17:53, , 2F
route -n | grep '^0\.0\.0\.0' | awk '{print $2};'
08/31 17:53, 2F

08/31 17:53, , 3F
都下 route -n 了, 不介意再加個 pipe 一次解決
08/31 17:53, 3F
文章代碼(AID): #1CVAWWJ6 (C_and_CPP)
文章代碼(AID): #1CVAWWJ6 (C_and_CPP)