IP地址CIDR斜线记法求子网信息小工具软件(vs2010+MFC)

本文介绍了一个利用MFC编写的IP地址CIDR斜线记法小工具,能够自动计算子网号、子网掩码、第一个可用IP等信息。作者分享了思路和部分代码,并提供软件下载链接,帮助理解网络前缀与IP地址的关系。
摘要由CSDN通过智能技术生成

最近在学习计算机网络,遇到根据斜线记法来确定该IP所在子网的信息,包括:子网号、子网掩码、第一个可用IP、最后一个可用IP、广播地址、可用IP数总量。

因为自己在二进制和十进制转换之间反应比较慢,所以自己决定做一个自动计算子网所有信息的小工具软件:IPTool!

下面是截图:

image_thumb3

还是像以前一样我会介绍自己的思路和部分代码,希望感兴趣的朋友可以多交流~~

前提:

当然要明白这个小工具的实现方法,你必须会自己得出所有的子网信息,如果你都做不出来,就不可能编写一个工具出来替你完成计算。

思路:

网络号:求网络号就是让给出的IP与斜线后面的网络前缀位数如25,相与即可得结果;

子网掩码:把网络前缀8位一组转化成10进制数就行;

第一个可用地址:网络号加1就是了;

最后一个可用地址:主机号全都变成1,然后减1就是

广播地址:最后一个可用地址加1就是

可用IP数量:2^主机号-2

实现:

ip的各部分添加5个int型成员变量;其余的都为CString。

image_thumb9

对于每个编辑控件的设置为UpdateData();TRUE/FALSE参数设置可以参看我的两外介绍VS2010MFC编程文章.

下面列出对网络前缀edit control编写的代码:

主要的想法是:网络前缀/8,保留商和余数,根据商来分别处理5种情况。

建议读者可以把下面的代码复制到VS2010里面,这样的话就有颜色,也比较容易看。

void CIPToolDlg::OnEnChangeEdit5()
{
    // TODO:  If this is a RICHEDIT control, the control will not
    // send this notification unless you override the CDialogEx::OnInitDialog()
    // function and call CRichEditCt

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值