c语言判断一个字符串是不是ip地址
时间: 2023-11-16 21:02:38 浏览: 287
要判断一个字符串是不是IP地址,可以使用C语言编写一个函数来实现。首先,IP地址由四部分组成,每部分都是0到255之间的数字,用"."分隔开。因此,我们可以通过以下步骤来判断一个字符串是否是IP地址:
首先,使用strtok函数将字符串按"."分割成四部分。
然后,使用atoi函数将每一部分转换成整数,并判断是否在0到255之间。
如果四部分都符合要求,则该字符串就是一个IP地址。
接下来是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int isIPAddress(char* str){
// 用来保存分割后的字符串
char* token;
int count = 0;
// 按"."分割字符串
token = strtok(str, ".");
while(token != NULL){
int num = atoi(token);
if(num < 0 || num > 255){
return 0; // 不是合法IP地址
}
token = strtok(NULL, ".");
count++;
}
// 判断是否有四部分
if(count != 4){
return 0; // 不是合法IP地址
}
return 1; // 是合法IP地址
}
int main(){
char str[] = "192.168.1.1";
if(isIPAddress(str)){
printf("%s 是一个合法的IP地址\n", str);
}
else{
printf("%s 不是一个合法的IP地址\n", str);
}
return 0;
}
```
以上代码中,isIPAddress函数用来判断一个字符串是否是IP地址,main函数中则调用isIPAddress函数来进行判断。运行代码后,输出结果为"192.168.1.1 是一个合法的IP地址"。
阅读全文