#include <iostream.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <ctype.h>
//类结构
class ipTest{
char ip[15]; //定义ip数组,存放ip地址
char subnetPlusMask[18]; //定义subnetPlusMask数组,存放子网号和子网掩码中1的个数
char subnet[18]; //定义subnet数组,存放子网号
char TempIp[15]; //定义TempIp数组,存放临时的ip地址
char TempSub[18]; //定义TempSub数组,存放临时的子网号
int mask; //定义整型mask,存放子网掩码中1的个数
bool maskIsValid;//定义布尔值maskIsValid,存放判断mask真值的变量
public:
ipTest(char *,char *); //定义ipTest函数
~ipTest(){};
bool NoIllegalChar(char *); //非法字符的判断
bool ipIsValid(char *); //判断IP地址是否合法
bool subnetIsValid(char *); //判断子网号是否合法
void belong(); //判断IP是否为子网成员
print();//定义输出函数print
};
//主函数
void main(int argc,char *argv[]){
int i;
printf("您输入了 %d 个参数\n分别是:",argc);
for(i=0;i<argc;i++)
printf("%s\n",argv[i]);
if(argc != 3){ //判断参数格式是否正确
cout <<"error" <<endl <<"format shoud be:ip_test subnet/mask ip" <<endl;
return;
}
else{
if(strlen(argv[1]) > 18){ //先判断最简单的错误,子网号及子网掩码长度和是否超出
cout <<"subnet/mask is too long";
return;
}
if(strlen(argv[2]) > 15){ //ip地址长度是否超出
cout <<"ip is too long";
return;
}怎么用printf输出bool函数值
ipTest test(argv[1],argv[2]); //实例化ipTest类
test.print(); //完成相应判别并输出结果
}
}
//构造函数
ipTest::ipTest(char* subnetPlusMask,char *ip){
maskIsValid = true;
char temp[2];
//把'/'前的字符复制到subnet字符数组中
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论