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