合法IP_ip地址


#include<iostream>
#include<string>
#include<sstream>
using namespace std;
int main()
{
string str;

while(cin>>str)
{
stringstream ss(str);
string tmp;
//以‘.’隔开成了几块
int count=0;
//标志位,判断当前的ip地址是否满足设立的条件,主要规范只有一个输出
bool invalid=true;
//将输入的字符串,作为输入流,并且以'.'隔开
while(getline(ss,tmp,'.'))
{

if(tmp==" ")
{
cout<<"NO"<<endl;
invalid=false;
}
//先将string 转成 shar * 再将转成int
int val=atoi(tmp.c_str());

if(val>255||val<0)
{
cout<<"NO"<<endl;
invalid=false;
}
count++;
}
// ip满足条件,且分成了4块,输出
if(invalid&&count==4)cout<<"YES"<<endl;

}

}