用程式實現ipv4位址字串是否合法,主要考察的是c字串的操作。
搜尋了下,網上沒有特別好的實現,自己實現了下,見笑於大家,請指正。
#include #includeint 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...