Given a string, we need to print whether the string is a valid IPv4 ip address or not. For example, 12.2.3.4 is valid IP address and 1222.2.22.33 is not.
The key steps in writing an verifyIP function are:
- Length of the string should be less than equal to 15. As each sub part of the IP can be at max 3 digits and we can have at max 3 dots.
- The string should have 4 parts separated by 3 dots.
- Each part should be greater than 0 and less than 256.
void verifyIP(char *s )
{
int count=0;
char *str = new char[strlen(s)];
strcpy(str,s);
//Check if length of string is greater than 15.
if(strlen(str)>15)
{
cout<<"Not an IP Address"<<endl;
return;
}
char *ip=strtok(str,".");
while(ip!=NULL)
{
count++;
//Check that each subpart is less than 256
if(atoi(ip)>255)
{
cout<<"Not an IP address"<<endl;
return;
}
ip=strtok(NULL,".");
}
//Check that we have 4 parts in the ip
if(count==4)
cout<<"Correct IP Address"<<endl;
else
cout<<"Not an IP Address"<<endl;
}
No comments:
Post a Comment