C 實現判斷乙個IP是否是指定範圍內的IP

2021-09-06 06:35:34 字數 1766 閱讀 4691

//定義允許的ip端,格式如下

static

string allowipranges = ;

//主函式,呼叫判斷介面

static

void main(string

args)

//介面函式 引數分別是你要判斷的ip 和 你允許的ip範圍

//(已經過載)

//(允許同時指定多個陣列)

static

bool theipisrange(string ip, params

string

ranges)

}return

tmpres;

}//////

判斷指定的ip是否在指定的ip範圍內 這裡只能指定乙個範圍

/// ///

//////

static

bool theipisrange(string ip, string

ranges)

catch

(exception)

if (count==1&&ip == start_ip) result = true

;//如果指定的ip範圍就是乙個ip,那麼直接匹配看是否相等

else

if (count == 2

)//如果指定ip範圍 是乙個起始ip範圍區間

}result =tmpres;

}return

result;

}//嘗試解析ip範圍 並獲取閉區間的 起始ip (包含)

private

static

void tryparseranges(string ranges, out

int count, out

string start_ip, out

string

end_ip)

catch

(exception)

if (_r.count() == 2

)

catch

(exception)}}

//////

將ip四組值 轉換成byte型

/// ///

///static

byte get4byte(string

ip)

return

res.toarray();

}

未來得及測試,有不足之處或者有更好的方法請踴躍交流

剛發布,網友就告訴我乙個更簡單的方法就是 把ip轉換成long型

但是隨後 經過測試 發現轉換成long型別的方法 還是有問題  :

比如:192.168.0.0~192.168.255.255和10.0.0.0~10.255.255.255是允許的ip端

如果192.165.0.0本來不在前面這個範圍 也不在 後面那個範圍

但是用long的方法  就會檢測出道後面這個範圍內。

用我上面的方法就可以準確檢測

python 判斷乙個IP位址是否合法

最近在看tornado的原始碼,遇到了 is valid ip ip 這個函式,該函式用來判斷乙個ip位址是否合法,支援ipv4和ipv6,想到自己前陣子也遇到過這個問題,看著原始碼的解決方法要比自己的好多了,就摘抄下來,以留備用 def is valid ip ip returns true if...

判斷乙個整數是否為素數 確定乙個整數是否是2的冪

給定乙個整數,編寫乙個函式來確定它是否是2的冪。範圍 1 2 31 1 測試用例 輸入 16,輸出 true 因為 2 4 16 輸入 18,輸出 false.最明顯的暴力方法就是除以2,然後檢查它是否達到1。var poweroftwo function n 由於給出的範圍在0 2 31 1之間,...

判斷乙個整數是否是回文數

判定乙個正整數是否是乙個回文數。例如12121是回文數,而1231不是回文數。要判斷乙個整數是否是回文數,最自然的想法是把整數轉換成乙個字串,然後根據回文的對稱特性進行判斷。數字轉換為字串可以通過itoa函式實現,判斷字串是否為回文字串 如下 bool ispalindrome string str...