IP地址的合法性和子网判断.docx
- 文档编号:23736242
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:17
- 大小:17.85KB
IP地址的合法性和子网判断.docx
《IP地址的合法性和子网判断.docx》由会员分享,可在线阅读,更多相关《IP地址的合法性和子网判断.docx(17页珍藏版)》请在冰豆网上搜索。
IP地址的合法性和子网判断
(1)
#include
#include
#include
#include
usingnamespacestd;
inta[4]={0,0,0,0};//分段存放子网
charIp_addr[15];//ip地址
charsub_net[15];//子网
intip[4]={0,0,0,0};
intsubnet[4]={0,0,0,0};//分段存放ip地址
intaddress[4]={0,0,0,0};
intnum;//子网掩码
//判断IP是否合法
voidaa(charc[15])
{//判断IP地址不能超过15
if(strlen(c)>15)
{cout< "< return;} intdotnum=0; //判断IP地址中是否存在非法字符 for(inti=0;i {if(isdigit(c[i])==0&&c[i]! ='.') {cout< "< return;} if(c[i]=='.') dotnum++;} //判断IP地址中只能存在3个分隔符 if(dotnum! =3) {cout< "< return;} //判断IP地址中是否存在连续分隔符 for(i=0;i {if(c[i]=='.'&&c[i+1]=='.') {cout< "< return; } }} //分割IP地址 voidbb(charc[15]) {//判断IP地址中最后不能为分隔符 for(intm=0;m<4;m++) {ip[m]=0;} intlen; len=strlen(c); if(c[len-1]=='.') {cout< "< return; } chartemp[4][15]; for(inti=0;i<4;i++) for(intj=0;j<15;j++) temp[i][j]='\0'; intj=0; i=0; for(intk=0;k {if(c[k]! ='.') {temp[i][j]=c[k]; j++; } else {i++; j=0; }} for(i=0;i<4;i++) {//判断每位的长度 len=strlen(temp[i]); if(len>3) {cout< "< return; } switch(len) {case3: {while(len! =0) {ip[i]+=(temp[i][len-1]-48)*pow(10,3-len); len--;} break; } case2: {while(len! =0) {ip[i]+=(temp[i][len-1]-48)*pow(10,2-len); len--; } break;} default: {while(len! =0) {ip[i]+=(temp[i][len-1]-48)*pow(10,1-len); len--; } }}} longintnum=0; for(i=0;i<4;i++) {//判断每位的大小不超过255 if(ip[i]>255) {cout< "< return; }} } //分割网络地址 voidee(charc[15]) {//判断网络地址中最后不能为分隔符 for(intm=0;m<4;m++) {subnet[m]=0;} intlen; len=strlen(c); if(c[len-1]=='.') {cout< "< return; } chartemp[4][15]; for(inti=0;i<4;i++) for(intj=0;j<15;j++) temp[i][j]='\0'; intj=0; i=0; for(intk=0;k {if(c[k]! ='.') {temp[i][j]=c[k]; j++; } else {i++; j=0; } } for(i=0;i<4;i++) {//判断每位的长度 len=strlen(temp[i]); if(len>3) {cout< "< return; } switch(len) {case3: {while(len! =0) {subnet[i]+=(temp[i][len-1]-48)*pow(10,3-len); len--; } break; } case2: {while(len! =0) {subnet[i]+=(temp[i][len-1]-48)*pow(10,2-len); len--; } break; } default: {while(len! =0) {subnet[i]+=(temp[i][len-1]-48)*pow(10,1-len); len--; } } }} longintnum=0; for(i=0;i<4;i++) {//判断每位的大小不超过255 if(subnet[i]>255)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IP 地址 合法性 子网 判断