日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java ipv6校验_java - IPv6地址验证和规范化[关闭] - 堆栈内存溢出

發(fā)布時間:2024/1/23 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java ipv6校验_java - IPv6地址验证和规范化[关闭] - 堆栈内存溢出 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

我只是通過adhoc方法來檢查IPV4和IPV6兩種尋址方案的有效性:這是我的代碼......我的代碼總是歡迎更正。 如果我的解決方案有誤,請原諒我。

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using namespace std;

bool check6(string s)

{

for(int i=0;i

{

if((s[i] < '0' || s[i] > '9') && (s[i] < 'a' || s[i]> 'f') &&

(s[i] < 'A' || s[i] > 'F'))

return false;

}

return true;

}

bool check4(string s)

{

for(int i=0; i< s.length(); i++)

{

if(!(s[i]>= '0' && s[i] <= '9'))

return false;

}

stringstream ss(s);

int e;

ss >> e;

if( e < 0 || e > 255 )

return false;

else

return true;

}

int main()

{

string s;

cin>>s;

vector v;

int i=0;

int d=0;

if((s.find(":")!=std::string::npos ||

s.find("::")!=std::string::npos)&&

s.find(".")==std::string::npos)

{

int x=0;

while(i< s.length())

{

string s1 ="";

while(i< s.length() && s[i]!= ':')

{

s1+= s[i];

i++;

}

if(s1!="")

v.push_back(s1);

if((i+1)< s.length() && s[i]==':' && s[i+1]==':')

x++;

i++;

if(i< s.length())

d++;

}

if(x > 1 || d > 7 || v.size() > 8 || (x==1 && d >6))

{

cout<

return 0;

}

else if(d > 2 && v.size() ==0)

{

cout<

return 0;

}

else

{

for(int i=0;i< v.size();i++)

{

if((v[i]).length() > 4)

{

cout<

return 0;

}

else

{

if(!check6(v[i]))

{

cout<

return 0;

}

}

}

cout<

return 0;

}

}

else if(s.find(":")==std::string::npos && s.find(".")!=std::string::npos)

{

while(i< s.length())

{

string s1="";

while( i< s.length() && s[i]!='.')

{

s1+=s[i];

i++;

}

i++;

if(i< s.length())

d++;

v.push_back(s1);

}

if(d > 4 || v.size()> 4)

{

cout<

return 0;

}

else

{

for(int i=0;i

{

if((v[i]).length() > 3)

{

cout<

return 0;

}

if(!check4(v[i]))

{

cout<

return 0;

}

}

}

cout<

return 0;

}

cout<

return 0;

}

總結(jié)

以上是生活随笔為你收集整理的java ipv6校验_java - IPv6地址验证和规范化[关闭] - 堆栈内存溢出的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。