C语言实现IP地址校验 - 代码示例与解析
以下是使用C语言实现对字符串中每一个IP进行校验的代码示例:\n\nc\n#include <stdio.h>\n#include <string.h>\n#include <stdlib.h>\n\nint is_valid_ip(const char *ip) {\n int num, dots = 0;\n char *ptr;\n\n if (ip == NULL)\n return 0;\n\n ptr = strtok((char*)ip, ".");\n \n if (ptr == NULL)\n return 0;\n\n while (ptr) {\n if (strlen(ptr) > 3)\n return 0;\n\n num = atoi(ptr);\n\n if (num < 0 || num > 255)\n return 0;\n\n if (*ptr == '0' && strlen(ptr) > 1)\n return 0;\n\n ptr = strtok(NULL, ".");\n dots++;\n }\n\n if (dots != 4)\n return 0;\n\n return 1;\n}\n\nint main() {\n char ip_str[] = "3.3.3.3, 2.2.2.2, 1.1.1.1";\n char *ip;\n \n ip = strtok(ip_str, ", ");\n \n while (ip) {\n if (is_valid_ip(ip))\n printf("%s is a valid IP address\n", ip);\n else\n printf("%s is not a valid IP address\n", ip);\n\n ip = strtok(NULL, ", ");\n }\n\n return 0;\n}\n\n\n该程序首先定义了一个is_valid_ip函数用于验证IP地址的有效性。然后在main函数中,使用strtok函数将字符串分割成多个IP地址,并逐个进行校验。校验结果会在控制台输出。
原文地址: https://www.cveoy.top/t/topic/p00h 著作权归作者所有。请勿转载和采集!