C++ 网络连通性检测的实现方法

 更新时间:2017年09月30日 17:03:31   投稿:lqh  
这篇文章主要介绍了C++ 网络连通性检测的实现方法的相关资料,这里提供实例帮助大家实现这样的功能,需要的朋友可以参考下

C++ 网络连通性检测的实现方法

有时程序需要保持和某个指定网络的连通,有人的情况下我们直接用ping命令查看即可,然而程序自身检测会稍微麻烦一点。

    实现思路如下:

    用程序打开控制台->运行ping命令,并指定控制台返回值写入到文件中->分析文件,得到ping命令返回状态->得到网络连通情况

    代码如下:

#include <windows.h> 
#include <stdio.h> 
#include <string> 
using namespace std; 
 
bool AnalysisFile()  
{ 
  bool rState;//返回状态 
  FILE *file; 
  char ln[80]; 
  fopen_s(&file, "returnpingdata.txt", "r"); 
 
  fgets(ln, 80, file);//读入空行,舍弃 
  fgets(ln, 80, file);//读入ping信息,舍弃 
  fgets(ln, 80, file);//读入ping对象返回值,用来分析 
   
  string data = ln; 
  int iPos = data.find("="); 
  data = data.substr(iPos+1,3);//截取字符串返回字节数 
  int n = atoi(data.c_str()); 
  rState = n > 0; 
  fclose(file); 
  return rState; 
} 
void main()  
{ 
  // -n 1指定发送1位数据,-w  
  // 1000指定超过1000ms为超时 
  // >returnpingdata.txt指定命令行返回值输出到returnpingdata.txt文件中 
  char *cmdstr= "cmd /c ping www.baidu.com -n 1 -w 1000 >returnpingdata.txt"; 
  WinExec(cmdstr, SW_HIDE); 
  Sleep(1000);//等待1000ms 
  bool returndata = AnalysisFile();//分析命令行返回文件,得到网络连接情况 
  if (returndata==true) 
  { 
    printf("网络连接成功\n"); 
  } 
  else 
  { 
    printf("网络连接失败\n"); 
  } 
  getchar(); 
} 

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • C++多线程之互斥锁与死锁

    C++多线程之互斥锁与死锁

    互斥锁和死锁是C++多线程中常见的情况,这篇文章就带大家进一步了解多线程中的互斥锁与死锁这两个概念,文中的示例代码介绍得很详细,快来跟随小编一起学习吧
    2021-12-12
  • C语言中获取进程识别码的相关函数

    C语言中获取进程识别码的相关函数

    这篇文章主要介绍了C语言中获取进程识别码的相关函数,分别为getpid()函数和getppid()函数的使用,需要的朋友可以参考下
    2015-08-08
  • c++中try catch的用法小结

    c++中try catch的用法小结

    这篇文章主要介绍了c++中try catch的用法小结,需要的朋友可以参考下
    2018-01-01
  • C++内存管理详解使用方式

    C++内存管理详解使用方式

    内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能更大的自由,C++菜鸟的收获则是一遍—遍的检查代码和对C++的痛恨,但内存管理在C++中无处不在,内存泄漏几乎在每个C++程序中都会发生,要想成为C++高手,内存管理这关是必须过的
    2022-04-04
  • C++ 面向对象程序设计--内存分区详解

    C++ 面向对象程序设计--内存分区详解

    这篇文章主要介绍了剖析C++的面向对象编程思想,C++的面向对象特性是其对C语言的重要拓展之处,需要的朋友可以参考下,希望能够给你带来帮助
    2021-08-08
  • C语言实现通讯录的详细代码

    C语言实现通讯录的详细代码

    本文详细讲解了C语言实现通讯录的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • 整型数据在内存中存储方式的讲解

    整型数据在内存中存储方式的讲解

    今天小编就为大家分享一篇关于整型数据在内存中存储方式的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • C++ 实现2048游戏示例

    C++ 实现2048游戏示例

    《2048》是比较流行的一款数字游戏。原版2048首先在github上发布,原作者是Gabriele Cirulli。它是基于《1024》和《小3传奇》的玩法开发而成的新型数字游戏。
    2014-06-06
  • C++中std::priority_queue的使用小结

    C++中std::priority_queue的使用小结

    std::priority_queue是C++ STL提供的优先队列,本文主要介绍了C++中std::priority_queue的使用小结,具有一定的参考价值,感兴趣的可以了解一下
    2025-04-04
  • 显示任何进程加载的DLL文件的代码

    显示任何进程加载的DLL文件的代码

    c语言实现的显示任何进程加载的DLL,方便开发软件的朋友
    2013-05-05

最新评论