请问,怎样用C获得ping的返回值?
我在程序中用ping确定网络是否正常,找了一些ping的源码,都是很长而没一个能编译通过的,所以现在直接调用ping命令
我在程序中system( "ping www.csdn -c 1 > ping.txt ");
好像没有东西写入ping.txt?
我在shell中直接ping www.csdn.net > ping.txt
也没有东西写进去?
这是怎么回事?
另:确定网络是否正常,最好是用什么方法呢?改写ping源码吗?
[解决办法]
ping就是发ICMP包,你可以以此确认网络是否通,也可以简单的打开socket来知道网络是否通。对于ping,有很多简单的例子,比如《UNIX网络编程(第一卷)》就有ping的例子,此书是UNIX网络编程的圣经,有电子版,很好找。
如楼上各位所说,ping的结果能写到文件,你最好确认一下。
[解决办法]
int ret = system( "ping xxx ");
if (WEXITSTATUS( ret ) == 0)
OK
else
ERROR