一个用于识别字符串是否是IPV4的C语言函数,保留下来供大家参考使用:
#include
#include
#include
#include
#include
#include
int if_a_string_is_a_valid_ipv4_address(const char *str)
{
struct in_addr addr;
int ret;
volatile int local_errno;
errno = 0;
ret = inet_pton(AF_INET, str, &addr);
local_errno = errno;
if (ret > 0)
fprintf(stderr, "\"%s\" is a valid IPv4 address\n", str);
else if (ret < 0)
fprintf(stderr, "EAFNOSUPPORT: %s\n", strerror(local_errno));
else
fprintf(stderr, "\"%s\" is not a valid IPv4 address\n", str);
return ret;
}
int main()
{
char *pIP = "192.168.0.22";
char *pNotIP ="192.168.0.256";
if_a_string_is_a_valid_ipv4_address(pIP);
if_a_string_is_a_valid_ipv4_address(pNotIP);
return 0;
}