#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字符数组中