上传者: 38671048
|
上传时间: 2022-02-26 15:56:38
|
文件大小: 52KB
|
文件类型: -
问题描述:
现给定两个IPv4地址,和一个子网掩码,判断是否属于同一个子网,若属于,输出1,否则输出0。
例如输入:
172.16.1.3
172.16.1.35
255.255.255.224
输出:
0
解决方案:
首先将字符串格式的IP地址转化为4字节的IP地址,然后使用与(&)运算,分别将两个IP地址与掩码相与,若最后的值相同,则为同一个子网,否则不是。
以下函数的作用是将字符串格式的IP转化为4字节的IP(因为是4字节,所以使用int,但不同平台的int所占的字节好像不同哈~不太确定)
int _to_int(char * str, int start_idx, int end_i