废话不说直接贴代码:
ip的数据结构
typedef struct IP_Struct{
//ip地址划分后各个域的值
struct IpAdress_Struct
{
int first;
int second;
int third;
int forth;
}IpAdress,*pIPAdress;
//ip地址
char szIPAdress[MAX_PATH];
//子网掩码
char szIPMask[MAX_PATH];
IP_Struct()
{
strcpy(szIPAdress,"");
strcpy(szIPMask,"");
}
IP_Struct(char szIPAdress[],char szIPMask[])
{
strcpy(this->szIPAdress,szIPAdress);
strcpy(this->szIPMask,szIPMask);
}
}IP,*pIP;
判断ip是否合理及获取ip各个域的值
bool JudgeIp(char *szIP,IP_Struct::IpAdress_Struct *ipAdress)
{
if (!szIP) return false;
int index=0;
int first=0,second=0,third=0,forth=0;
std::string ip=std::string(szIP);
first=atoi(&ip[index]);
if (first>255)
return false;
if (ipAdress)
ipAdress->first=first;
index++