用C語言實現ipv4位址字串是否合法

2022-03-04 02:34:50 字數 1079 閱讀 9596

用程式實現ipv4位址字串是否合法,主要考察的是c字串的操作。

搜尋了下,網上沒有特別好的實現,自己實現了下,見笑於大家,請指正。

#include #include 

int valid_ip_segment(const

char*begin,

const

char*end)

int sum = 0

;

while (begin sum *= 10

; sum += *begin - '0'

; ++begin;

}if (sum > 255

)

return0;

}int valid_ip_address(const

char*ip_str)

const

char* begin =ip_str;

const

char* end =null;

int seg_count = 0

;

int ret = 0

;

while ((end = strchr(begin, '.'

)))

++seg_count;

begin = end + 1

; }

if (seg_count != 3

) end =begin;

while(*end)

return

valid_ip_segment(begin, end);

}struct

testcase ;

intmain() ,,,

,,

};size_t len = sizeof(test_case)/sizeof(test_case[0

]);

int i = 0

;

int ret = 0

;

for (;i < len; ++i )

else

}return0;

}

判斷IPV4位址是否合法(C語言實現)

輸入乙個字串,判斷是否是合法的ipv4位址 首先,ipv4 位址 1 三個點 2 四部分整數,0 255 之間 3 前導數不能是0,例如 012.1.1.1 非法 include include include using namespace std 1 只有三個點 四部分,每個數都在 0 255 ...

演算法題 判斷字串是否是合法的ipv4位址

問題描述 判斷字串是否是合法的ipv4位址 ipv4位址特點 比如 123.1.33.2 有四位,每一位之間直接用.分割,每一位的範圍是0 255,即在0.0.0.0到255.255.255.255之間 方法1 將當前字串分割為字元陣列 注意分隔符.需要轉義寫成 然後判斷每一位的範圍是否在0 255...

c 正規表示式 ipv4位址

1 9 d 1 d d 2 0 4 d 25 0 5 1 9 d 1 d d 2 0 4 d 25 0 5 0 9 等價 d 字串裡有 0到9之間的數字字元即可匹配 如a1a 0 9 匹配字首為以上條件的字串 如 1aa 0 9 字串裡有除了0 9 以外的字元 即可匹配 如 a 0 9 匹配字尾為0...