失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > C笔试题:IP地址(点分十进制)转换为十进制数

C笔试题:IP地址(点分十进制)转换为十进制数

时间:2024-02-23 09:54:03

相关推荐

C笔试题:IP地址(点分十进制)转换为十进制数

飞音时代笔试:

将点分十进制的IP地址转换为十进制数:

1、检查格式,不符合IP格式的返回0;

例如:192.168.1或192.168.1.test,返回0

2、转换:将转换后的数返回;

例如:1.1.1.1转换后为

16,843,009

#include<stdio.h>#include<stdlib.h>int con_baiyi_IP2INT(const char *ipaddr){char *str=ipaddr;int i=0,num=0;//判断ip是否合法while(str[i]){if('.'==str[i]){num++;}if('.'==str[i]&&'.'==str[i+1]){return 0;}if((str[i]<'0'||str[i]>'9')&&str[i]!='.'){return 0;}i++;}if(num!=3){return 0;}//转换char *argv[4]={0};argv[0]=str;i=0;int j=1;while(str[i]){if(str[i]=='.'){str[i]='\0';argv[j++]=&str[i+1];}i++;}int val;//atoi:将字符串转换为整型数val=atoi(argv[0])<<24|atoi(argv[1])<<16|atoi(argv[2])<<8|atoi(argv[3])<<0;return val;}

如果觉得《C笔试题:IP地址(点分十进制)转换为十进制数》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。