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