IP地址的合法性检验设计c++
时间: 2023-09-11 16:09:03 浏览: 69
以下是一个基本的IP地址合法性检验程序的C代码示例:
```c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int is_valid_ip(char* ip_address) {
int num, dots = 0;
char* ptr;
if (ip_address == NULL)
return 0;
ptr = strtok(ip_address, ".");
if (ptr == NULL)
return 0;
while (ptr) {
if (!isdigit(*ptr))
return 0;
num = atoi(ptr);
if (num < 0 || num > 255)
return 0;
ptr = strtok(NULL, ".");
if (ptr != NULL)
++dots;
}
if (dots != 3)
return 0;
return 1;
}
int main() {
char ip_address[20];
printf("Enter an IP address: ");
scanf("%s", ip_address);
if (is_valid_ip(ip_address))
printf("%s is a valid IP address.\n", ip_address);
else
printf("%s is not a valid IP address.\n", ip_address);
return 0;
}
```
该程序使用了strtok函数将IP地址的四个部分分离开来,然后检查每个部分是否是0到255之间的数字。如果IP地址是合法的,函数返回1,否则返回0。