对书上的代码进行的改写,使用C++
《Windows网络编程(第2版)》

#define _WINSOCK_DEPRECATED_NO_WARNINGS#include <winsock2.h>
#include<iphlpapi.h>
#pragma comment(lib, "Ws2_32.lib")
#pragma comment(lib,"iphlpapi.lib")#include<iostream>
#include<sstream>using namespace std;void getInfo()
{// 指定获取到的网络信息结构体链表的指针IP_ADAPTER_INFO* pAdapterInfo;// 保存获取到的网络信息结构体链表的长度ULONG  ulOutBufLen;// 返回调用编码DWORD dwRetVal;// 在轮循所有网络适配器信息时使用的单个结构体变量PIP_ADAPTER_INFO pAdapter;// 为pAdapterInfo分配空间pAdapterInfo = NULL;//(IP_ADAPTER_INFO *)malloc(sizeof(IP_ADAPTER_INFO));ulOutBufLen = 0;//sizeof(IP_ADAPTER_INFO);//获取网卡信息// 第1次调用GetAdaptersInfo(),获取返回结果的大小到ulOutBufLen中,网络信息结构体链表的长度if (GetAdaptersInfo(pAdapterInfo, &ulOutBufLen) == ERROR_BUFFER_OVERFLOW){pAdapterInfo = new IP_ADAPTER_INFO[ulOutBufLen];}// 第2次调用GetAdaptersInfo(),获取本地网络信息到结构体pAdapterInfo中if ((dwRetVal = GetAdaptersInfo(pAdapterInfo, &ulOutBufLen)) != ERROR_SUCCESS){cout<<"GetAdaptersInfo Error! :"<< dwRetVal<<endl;}// 从pAdapterInfo 获取并显示本地网络信息pAdapter = pAdapterInfo;while (pAdapter){cout << endl;cout << "网络适配器名:\t" << pAdapter->AdapterName << endl;cout << "\n   网络适配器描述:\t" << pAdapter->Description << endl;printf("   MAC地址: \t\t");for (unsigned int i = 0; i < pAdapter->AddressLength; i++){if (i == (pAdapter->AddressLength - 1))printf("%.2X\n", (int)pAdapter->Address[i]);elseprintf("%.2X-", (int)pAdapter->Address[i]);}printf("   IP地址: \t\t%s\n", pAdapter->IpAddressList.IpAddress.String);printf("   子网掩码: \t\t%s\n", pAdapter->IpAddressList.IpMask.String);printf("   网关: \t\t%s\n", pAdapter->GatewayList.IpAddress.String);if (pAdapter->DhcpEnabled){printf("   启用DHCP: \t\t是\n");printf("   DHCP服务器: \t\t%s\n", pAdapter->DhcpServer.IpAddress.String);}else{printf("   启用DHCP: \t\t否\n");}// 处理下一人网络适配器pAdapter = pAdapter->Next;}// 释放资源if (pAdapterInfo)delete pAdapter;cout << endl;
}int main()
{getInfo();return 0;
}

Winsock编程接口实验:实现ipconfig相关推荐

  1. Windows网络编程之Winsock 编程接口实验

    实验一 Winsock 编程接口实验 1 实验类型 验证型实验 2 实验目的 1. 掌握Winsock 的启动和初始化: 2. 掌握gethostname(),gethostbyname(),GetA ...

  2. 计算机接口并行实验,8255可编程并行接口实验实验报告

    <8255可编程并行接口实验实验报告>由会员分享,可在线阅读,更多相关<8255可编程并行接口实验实验报告(6页珍藏版)>请在人人文库网上搜索. 1.微机原理实验报告实验名称8 ...

  3. 十年一遇的奇葩故障--Windows网络编程接口故障:telnet显示无法加载或初始化请求的服务提供程序...

    现象:某同事的笔记本win7x64系统,当初故障是无法使用小乌龟连接到svn服务器,但又可以正常上网,并且svn服务器端是正常的. 后来我进一步测试,发觉该电脑也不能连接到远程windows. net ...

  4. 计算机网络实验 socket编程,计算机网络实验 socket编程

    实验三 socket套接字编程实验 一.Sockets编程基础知识 网络编程就是通过计算机网络与其他程序进行通信的程序,Socket编程是网络编程的主流工具. Socket API是实现进程间通信的一 ...

  5. Matlab与C/C++混合编程接口及应用

    http://www.cnblogs.com/lidabo/archive/2012/08/24/2654148.html 在参考文献基础上.补充和完善了. Matlab与C/C++混合编程接口及应用 ...

  6. WinSock编程基础

    在上一篇中,我们具体介绍了socket的相关概念,本节将概述套接字规范及操作的一些基础性知识.   一.套接字的一些基础知识 1.Windows通信相关驱动 netio.sys(Network I/O ...

  7. 非阻塞模式WinSock编程入门

    介绍 WinSock是Windows提供的包含了一系列网络编程接口的套接字程序库.在这篇文章中,我们将介绍如何把它的非阻塞模式引入到应用程序中.文章中所讨论的通信均为面向连接的通信(TCP),为清晰起 ...

  8. 微型计算机实验报告温度控制,单片机、可编程控制器实验教学大纲.doc

    单片机.可编程控制器实验教学大纲.doc 单片机.可编程控制器实验教学大纲 一.实验课的性质与任务 本实验课是在学生学完单片机原理与应用课程之后,为巩固提高所学知识,而安排的一次综合设计实验.通过本实 ...

  9. java实验指导答案华软_Java核心编程技术实验指导教程

    软件工程类 Java核心编程技术实验指导教程 作者:张屹, 蔡木生 所属类别:新世纪应用型高等教育软件专业系列规划教材 出版时间:2010年10月 ISBN:978-7-5611-5839-5前言 本 ...

最新文章

  1. 武汉理工大学软件质量保证与测试,材料测试技术(武汉理工大材料测试技术(武汉理工大学).pdf...
  2. [总结]DataGrid 固定表头实现(纵向和横向滚动条滚动,而Header不动)
  3. 24口光纤配线架 cad块_光纤配线架cad画法
  4. Windows RPC Demo实现
  5. android sqlite数据库 emoji表情,Android的Emoji表情
  6. 分布式mysql cobar_Mysql分布式中间件:Cobar server
  7. java iv不是内部命令_java – 解密错误:“no iv set when one expected”
  8. 架构——20——Jenkins+Gitlab实现持续集成——3
  9. JS_微信公众号开发调用扫码支付功能
  10. arduino 休眠 节能_用 Arduino 自制应急感应灯,给黑夜带来一点光明。
  11. 【代码审计-JAVA】javaweb代码审计思路
  12. edge浏览器如何把网页放到桌面_怎么将Edge浏览器图标放到Win10桌面?
  13. qtabwidget设置表头_Qt GUI图形图像开发之QT表格控件QTableView,QTableWidget复杂表头(多行表头) 及冻结、固定特定的行的详细方法与实例...
  14. Excel中两表数据核对方法
  15. NLP--(八)聊天机器人(一)
  16. 排序(数据结构与算法)
  17. LET: Linguistic Knowledge Enhanced Graph Transformer for Chinese Short Text Matching学习笔记
  18. JavaScript解决异步的前世今生
  19. 最新WordPress漏洞,黑客可轻松控制您的网站
  20. 移动pc客户端迷你版泄露

热门文章

  1. word隐藏段落标记,回车三角
  2. 敏捷开发-Scrum过程模型
  3. shell切分字符串到数组
  4. mosquitto使用的基本流程以及一些遇见的问题
  5. 关于阿里云服务器ECS与域名的绑定详细过程介绍
  6. 01Java并发编程的艺术之并发编程的挑战
  7. 流量定向转通用片面教程
  8. 区块链能够应用在哪些行业
  9. 【Python + selenium】在浏览器打开新页签
  10. 自学计算机等级可以在哪学,计算机二级怎么自学