写点什么

C 语言检测输入的 ip 地址是否合法

作者:linux大本营
  • 2023-04-21
    湖南
  • 本文字数:594 字

    阅读完需:约 2 分钟

下面是一个简单的程序示例:


#include<stdio.h>#include<string.h>#include<stdlib.h>#include<stdbool.h>
bool isValid(char *ipAddr) { char *token; int num; int i = 0; while ((token = strtok_r(ipAddr, ".", &ipAddr))) { i ++; num = atoi(token); if (num < 0 || num > 255 || i > 4) return false; } return i == 4;}
int main() { char ip[16]; printf("请输入一个IP地址: "); scanf("%s", ip); if (isValid(ip)) { printf("%s 是合法的IP地址\n", ip); } else { printf("%s 不是合法的IP地址\n", ip); } return 0;}
复制代码


在此程序中,我们首先定义了一个函数isValid,它用于检测一个字符串表示的 IP 地址是否合法。函数中使用了strtok_r函数将 IP 地址字符串拆分为四个子串,然后使用atoi函数将每个子串转换为整数并判断其大小是否在 0~255 之间,如果都满足,则说明 IP 地址合法。如果子串个数不是 4 个,也说明 IP 地址不合法。最后返回一个布尔类型的值表示检测结果。


main函数中,我们使用scanf函数获取输入的 IP 地址字符串,并调用isValid函数来检测 IP 地址是否合法。根据结果输出相应的提示信息即可。


这是一个简单的例子,你可以根据需要进行修改和优化。


相关技术视频教程:https://ke.qq.com/course/417774?flowToken=1013300

c/c++后端技术交流群:812855908

用户头像

还未添加个人签名 2020-11-26 加入

C/C++linux服务器开发群 812855908

评论

发布
暂无评论
C语言检测输入的ip地址是否合法_C语言_linux大本营_InfoQ写作社区