IP地址的合法性和子网判断要点.docVIP

  • 37
  • 0
  • 约1.12万字
  • 约 10页
  • 2016-12-21 发布于湖北
  • 举报
(1) #includeiostream #includectype.h #includemath.h #includestring using namespace std; int a[4]={0,0,0,0}; //分段存放子网 char Ip_addr[15]; //ip地址 char sub_net[15]; //子网 int ip[4]={0,0,0,0}; int subnet[4]={0,0,0,0}; //分段存放ip地址 int address[4]={0,0,0,0}; int num; //子网掩码 //判断IP是否合法 void aa(char c[15]) { //判断IP地址不能超过15 if(strlen(c)15) {coutendlIP地址总长度不能超过15!endl; return; } int dotnum=0; //判断IP地址中是否存在非法字符 for(int i=0;istrlen(c);i++) { if(isdigit(c[i])==0 c[i]!=.) { coutendlIP地址中含有非法字符!endl; return ; } if(c[i]==.) dotnum++; } //判断IP地址中只能存在3个分隔符 if(dotnum!=3) { coutendlIP地址中分隔符只能为3个!endl; return; } //判断IP地址中是否存在连续分隔符 for(i=0;istrlen(c)-1;i++) { if(c[i]==. c[i+1]==.) { coutendlIP地址中出现连续的分隔符!endl; return; } }} //分割IP地址 void bb(char c[15]) { //判断IP地址中最后不能为分隔符 for(int m=0;m4;m++) { ip[m]=0; } int len; len=strlen(c); if(c[len-1]==.) { coutendlIP地址最后们不能为分隔符!endl; return; } char temp[4][15]; for(int i=0;i4;i++) for(int j=0;j15;j++) temp[i][j]=\0; int j=0; i=0; for(int k=0;kstrlen(c);k++) { if(c[k]!=.) { temp[i][j]=c[k]; j++; } else { i++; j=0; } } for(i=0;i4;i++) { //判断每位的长度 len=strlen(temp[i]); if(len3) { coutendlIP地址每位长度不能超过3!endl; return; } switch(len) { case 3: { while(len!=0)

文档评论(0)

1亿VIP精品文档

相关文档