C语言system(ping )的问题

想用c语言写一个程序,用system()来调用ping命令,然后拿到返回结果,通过对结果的分析来判断当前网段里有哪些ip被终端占用了。这样可以在需要一个ip的时候可以用。

#include<stdio.h>
int main()  {
    system("ping 127.0.0.1");
    return 0;
}

如上边这段代码,运行之后没有什么反应,然后通过任务管理器看到不断增加ping和cmd的进程。不知道为什么。

然后尝试把结果输出到一个文本文件里:

#include<stdio.h>
int main()  {
    system("ping 127.0.0.1 >> a.txt");
    return 0;
}

会出现下边这种现象:


运行之后的结果

把system里边的命令写成一个bat文件,一样会出现同样的结果。貌似ping这个命令本身就特殊。当system("ping")这样也会出现同样的问题,卡住。

有可能是端口冲突的问题

“另一个程序正在使用此文件,进程无法访问”的解决方法

当然可以直接通过ICMP协议来编写程序。

用c语言循环打印ping 当前网段里所有ip的命令>>a.txt 到一个bat文件里运行。
ping 192.168.0.1 -n 2 //-n要发送的回显请求数
还是不能全部写进txt文件里,如果可以的话可以使用c语言的字符串函数strstr去判断是否有ping通的关键字来判断。

这个问题待研究


这个问题后来解决了,使用c语言用循环先写一个批处理文件,最有一位循环一个网段(后边省略了):

ping 192.168.11.1

ping 192.168.11.2

ping 192.168.11.3
ping 192.168.11.4
ping 192.168.11.5
ping 192.168.11.6
ping 192.168.11.7

然后讲结果输出到一个txt文档里,不知道为什么这个只能在C盘可以运行

C:\Users\lican>ping 192.168.11.1 

正在 Ping 192.168.11.1 具有 32 字节的数据:
来自 192.168.11.1 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.11.1 的回复: 字节=32 时间=5ms TTL=64
来自 192.168.11.1 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.11.1 的回复: 字节=32 时间=3ms TTL=64

192.168.11.1 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 0ms,最长 = 5ms,平均 = 2ms

C:\Users\lican>ping 192.168.11.2 

正在 Ping 192.168.11.2 具有 32 字节的数据:
来自 192.168.11.2 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.11.2 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.11.2 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.11.2 的回复: 字节=32 时间<1ms TTL=64

192.168.11.2 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 0ms,最长 = 1ms,平均 = 0ms

这样就把ping的结果输出到一个文本文档里。
但是这个是没有意义的,延时太大。 研究的这个问题没有意义。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • win7 cmd管理员权限设置 net localgroup administrators 用户名 /add 把“...
    f675b1a02698阅读 5,408评论 0 11
  • 部分内容转载自搜狗百科 cmd是command的缩写.即命令提示符(CMD),是在OS / 2 , Windows...
    青冥之上阅读 2,431评论 0 24
  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 4,799评论 0 11
  • 黑客常用命令大全 net user heibai lovechina /add 加一个heibai的用户密码...
    倒带默写阅读 17,099评论 0 24
  • 1. line-height有什么作用? 文本层次解析Paste_Image.png 行高(line-height...
    mint9602阅读 290评论 0 0