绍兴大明电力建设有限公司网站,网站1g的空间能用多久,重生做二次元网站,怎么注销建设银行网站用户名目录 前言 一、网卡是什么#xff1f; 二、实现访问网卡信息 1.引入库及相关的头文件 2.操作网卡数据 3. 完整代码实现 4.结果验证 总结 前言
简单示例如何在windows下使用c/c代码实现 ipconfig/all 指令 提示#xff1a;以下是本篇文章正文内容#xff0c;下面案例可供参考… 目录 前言 一、网卡是什么 二、实现访问网卡信息 1.引入库及相关的头文件 2.操作网卡数据 3. 完整代码实现 4.结果验证 总结 前言
简单示例如何在windows下使用c/c代码实现 ipconfig/all 指令 提示以下是本篇文章正文内容下面案例可供参考
一、网卡是什么 网卡是一块被设计用来允许计算机在计算机网络上进行通讯的计算机硬件。由于其拥有MAC地址因此属于OSI模型的第1层和2层之间。它使得用户可以通过电缆或无线相互连接。 每一个网卡都有一个被称为MAC地址的独一无二的48位串行号它被写在卡上的一块ROM中。在网络上的每一个计算机都必须拥有一个独一无二的MAC地址。 没有任何两块被生产出来的网卡拥有同样的地址。这是因为电气电子工程师协会IEEE负责为网络接口控制器网卡销售商分配唯一的MAC地址。
二、实现访问网卡信息
1.引入库及相关的头文件
代码如下示例
#include IPHlpApi.h
#pragma comment(lib, Iphlpapi.lib)
2.操作网卡数据
代码如下示例
int nRel 0;
PIP_ADAPTER_INFO pIpAdapterInfo (PIP_ADAPTER_INFO)malloc(sizeof(IP_ADAPTER_INFO));
unsigned long stSize sizeof(IP_ADAPTER_INFO);
nRel GetAdaptersInfo(pIpAdapterInfo, stSize);
结构体ADAPTER_INFO只限制于获取本地计算机网络适配器的IPv4信息该结构体通过调用GetAdaptersInfo函数获取值。
其中适配器类型Type字段定义了已获支持的适配器类型如下 常数 数值 说明 MIB_IF_TYPE_ETHERNET 6 以太网适配器 MIB_IF_TYPE_FDDI 15 FDDI光纤分布数据接口适配器 MIB_IF_TYPE_LOOPBACK 24 Loopback适配器 MIB_IF_TYPE_OTHER 1 其他类型的适配器 MIB_IF_TYPE_PPP 23 PPP适配器 MIB_IF_TYPE_SLIP 28 Slip适配器 MIB_IF_TYPE_TOKENRING 9 令牌环适配器
3. 完整代码实现
#include stdio.h
#include WinSock.h
#include IPHlpApi.h
#pragma comment(lib, Iphlpapi.lib)
int main() {char mac[18] { 0 };int netCardNum 0;char temp[4] { 0 };DWORD i 0;PIP_ADAPTER_INFO pIpAdapterInfo (PIP_ADAPTER_INFO)malloc(sizeof(IP_ADAPTER_INFO));unsigned long stSize sizeof(IP_ADAPTER_INFO);int nRel 0;netCardNum 0;nRel GetAdaptersInfo(pIpAdapterInfo, stSize);if (ERROR_BUFFER_OVERFLOW nRel) {free(pIpAdapterInfo);pIpAdapterInfo (PIP_ADAPTER_INFO)malloc(stSize);nRel GetAdaptersInfo(pIpAdapterInfo, stSize);}if (ERROR_SUCCESS nRel) {while (pIpAdapterInfo) {printf(%s\n, pIpAdapterInfo-IpAddressList.IpAddress.String);pIpAdapterInfo pIpAdapterInfo-Next;netCardNum;}}if (pIpAdapterInfo) {free(pIpAdapterInfo);}system(pause);return 0;}
4.结果验证
Microsoft Windows [版本 10.0.19044.2604]
(c) Microsoft Corporation。保留所有权利。
C:\Users\sunszipconfig
Windows IP 配置
无线局域网适配器 本地连接* 8:媒体状态 . . . . . . . . . . . . : 媒体已断开连接连接特定的 DNS 后缀 . . . . . . . :
无线局域网适配器 本地连接* 12:媒体状态 . . . . . . . . . . . . : 媒体已断开连接连接特定的 DNS 后缀 . . . . . . . :
无线局域网适配器 WLAN:连接特定的 DNS 后缀 . . . . . . . :本地链接 IPv6 地址. . . . . . . . : fe80::383a:9b03:d0fd:78e2%25IPv4 地址 . . . . . . . . . . . . : 192.168.101.134子网掩码 . . . . . . . . . . . . : 255.255.255.0默认网关. . . . . . . . . . . . . : 192.168.101.1
以太网适配器 以太网 5:连接特定的 DNS 后缀 . . . . . . . :本地链接 IPv6 地址. . . . . . . . : fe80::da34:1bdd:97a2:2d1e%17IPv4 地址 . . . . . . . . . . . . : 172.168.7.100子网掩码 . . . . . . . . . . . . : 255.255.255.0默认网关. . . . . . . . . . . . . :
以太网适配器 蓝牙网络连接 2:媒体状态 . . . . . . . . . . . . : 媒体已断开连接连接特定的 DNS 后缀 . . . . . . . :
以太网适配器 vEthernet (WLAN):连接特定的 DNS 后缀 . . . . . . . :本地链接 IPv6 地址. . . . . . . . : fe80::a33f:509b:ef4d:5b5f%32IPv4 地址 . . . . . . . . . . . . : 172.30.192.1子网掩码 . . . . . . . . . . . . : 255.255.240.0默认网关. . . . . . . . . . . . . :
以太网适配器 vEthernet (以太网 5):连接特定的 DNS 后缀 . . . . . . . :本地链接 IPv6 地址. . . . . . . . : fe80::c053:e2cb:7f6d:55b7%65IPv4 地址 . . . . . . . . . . . . : 172.30.112.1子网掩码 . . . . . . . . . . . . : 255.255.240.0默认网关. . . . . . . . . . . . . :
C:\Users\sunsz总结 以上就是代码实现的内容本文仅仅简单介绍了GetAdaptersInfo的使用。