思路:输入字符串的时候,把分隔符“.”读取出来,然后判断分隔符旁边的数字是否在0~~255之间,然后判断是否合法。
#include "stdafx.h"#include <stdio.h>#include <iostream>using namespace std;bool IsValidIp(char* str){if(str == NULL){return false;}char a[40];if(sscanf(str,"%d.%d.%d.%d",&a[0],&a[1],&a[2],&a[3]) != 4){return false;}for(int i = 0; i < 4; ++i){if(a[i] < 0 || a[i] > 255){return false;}}return true;}int _tmain(int argc, _TCHAR* argv[]){char* pstr = "127.0.0.1";cout<<IsValidIp(pstr)<<endl;char* pStr = "nvd.er3.56.34";cout<<IsValidIp(pStr)<<endl;getchar();return 0;}