IP的有效值是1.0.0.1~255.255.255.255,写个程序,参数是一个char*的IP,返回这个IP是否有效。
// IPcheck.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<iostream>
using namespace std;
//IP的有效值是1.0.0.1~255.255.255.255
bool checkIP(char* in);
int _tmain(int argc, _TCHAR* argv[])
{
char*ip = "111.256.255.4";
if (checkIP(ip))
cout << "合法IP" << endl;
else
cout << "非法IP" << endl;
system("pause");
return 0;
}
bool checkIP(char* in)
{
int k = 0;
int sum = 0;
while (*in != '\0')
{
while (*in != '.'&&*in != '\0')
{
int aa = *in - '0';
if (aa < 0 || aa>9)
return false;
sum = 10 * sum + aa;
++in;
}
if (*in != '\0')
++in;
++k;
if (k == 2 || k == 3)
{
if (sum < 0 || sum > 255)
return false;
}
if (k==1||k==4)
{
if (sum < 1 || sum > 255)
return false;
}
if (k > 4)
return false;
sum = 0;
}
return true;
}