c语言判断ip地址是否合法的ip类型
2015-12-05 15:52
519 查看
方法一:
完全当做字符串来解释:
(1)使用字符串分隔,然后判断分割后的字符是否合法
(2)
#include <stdio.h>
#include <string.h>
int a,b,c,d;
char s[100];
void main() {
strcpy(s,"123.1.2.3");
if (4==sscanf(s,"%d.%d.%d.%d",&a,&b,&c,&d)) {
if (0<=a && a<=255
&& 0<=b && b<=255
&& 0<=c && c<=255
&& 0<=d && d<=255) {
printf("[%s] is valid IPv4\n",s);
} else {
printf("[%s] is invalid IPv4\n",s);
}
} else {
printf("[%s] is invalid IPv4\n",s);
}
}
(3)正则表达式,python等脚本语言
二,直接调用函数inet_pton或者inet_aton,判断返回值
完全当做字符串来解释:
(1)使用字符串分隔,然后判断分割后的字符是否合法
(2)
#include <stdio.h>
#include <string.h>
int a,b,c,d;
char s[100];
void main() {
strcpy(s,"123.1.2.3");
if (4==sscanf(s,"%d.%d.%d.%d",&a,&b,&c,&d)) {
if (0<=a && a<=255
&& 0<=b && b<=255
&& 0<=c && c<=255
&& 0<=d && d<=255) {
printf("[%s] is valid IPv4\n",s);
} else {
printf("[%s] is invalid IPv4\n",s);
}
} else {
printf("[%s] is invalid IPv4\n",s);
}
}
(3)正则表达式,python等脚本语言
二,直接调用函数inet_pton或者inet_aton,判断返回值
相关文章推荐
- 在C++中结构体为函数参数的例子
- 线性表
- fatal error C1014: 包含文件太多 : 深度 = 1024
- 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值C语言代码
- 二叉树的序列化和反序列化实现(C++)
- C++primer笔记之vector多态
- LINK:fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- C语言 itoa和atoi用法
- C语言中的链表
- C++创建随机不重复的数字
- C++ Primer Plus第六版 第十四章 编程练习答案
- 一步步将vim改造成C/C++开发环境(IDE)
- x64 Windows下配置C语言开发MySQL的环境遇到的问题
- C++类的存储
- 浅论C++的复杂性
- 浅论C++的复杂性
- C语言(结构体、枚举、typedef)笔记 by STP
- C++教程(1)——准备学习C++
- 学习C语言总结
- C++ 读取文件中的数字 并存放到vector中 在由vector存放到 multimap中 最后BFS 判断是否连通