台灣最大程式設計社群網站
線上人數
868
 
會員總數:245007
討論主題:188957
歡迎您免費加入會員
討論區列表 >> C/C++ >> 如何在C/C++中使用Dos的ping function
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
如何在C/C++中使用Dos的ping function
價值 : 10 QP  點閱數:5256 回應數:6

樓主

阿澈
初學者
9 12
94 12
發送站內信

我需要在C++裡呼叫dos理得ping function, 然後傳回一些我要的值
ex. ping 100次的平均回覆時間

剛找了很久
沒有看到可以直接使用的函式庫
除了自己寫之外  有沒有人知道可以用的library或套件
 
謝謝

搜尋相關Tags的文章: [ ping ] , [ dos ] ,
本篇文章發表於2005-02-05 15:33
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
使用system函數
用法
int system("想要執行的dos指令")

前後用for包起來, 執行前先紀錄下時間,
執行後再抓新的時間和之前的相減
就可以知道到底花了多少時間執行這個
本篇文章回覆於2005-02-05 18:08
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

阿澈
檢舉此回應
謝謝你的回覆
我試過可行 ^^
但是我還需要針對每一次ping的數值作分析
這樣子好像就不能單純用Dos的ping了
有什麼比較好的作法嗎?
本篇文章回覆於2005-02-05 19:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
使用管線導向..
把ping的結果導向到任何一個檔案裡
int system("ping xxx.xxx.xxx.xxx > 1.txt")

然後分析那個檔案
本篇文章回覆於2005-02-05 19:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

formosa
捐贈 VP 給 formosa 檢舉此回應
之後再把檔案格式化輸入,放入陣列中就可以摟~!
本篇文章回覆於2005-02-05 22:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
恩恩^^~, 乖乖餃的做法最省時省力了, 如果是我, 我也會選這種做法~
本篇文章回覆於2005-03-02 00:31
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應


捐贈 VP 給 火 檢舉此回應
回應1F,你所要的應該是Unix程式設計常見的popen(),把另一個程式開啟為管線,並對它進行輸入/輸出。以你的問題為例,是執行ping.exe並當做主程式的管線輸入,讀取ping的輸出。

如果要在VC++實作管線,可以參考這二篇文章:
1. Redirect Output of CMD.EXE to a Pipe
   http://www.codeguru.com/Cpp/misc/misc/article.php/c277
   這一篇跟你的意圖非常類似
2. Piping between Functions
   http://www.codeproject.com/useritems/function-pipes.asp
   介紹比較一般化的解決方案,自行覆寫>運算子。跟你的問題距離比較遠,但也算是管線的一種,可以提供靈感。
本篇文章回覆於2005-03-02 16:24
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.