当前位置: 首页 > news >正文

青岛做外贸网站苏州seo关键词优化排名

青岛做外贸网站,苏州seo关键词优化排名,论文中网站数据如何做脚注,网站内容建设 互联互通近期在搞一个 IP地址配置到内核 的问题。 命令行输入IP地址给内核,我的问题是如何确认这个IP地址的格式是正确的,比如我输入一个 “1.2.300.x” 会怎样? 比如我输入 “1.2.3.a” ,如果把 “a” 解释成10是对还是不对…诸如此类。…

近期在搞一个 IP地址配置到内核 的问题。

命令行输入IP地址给内核,我的问题是如何确认这个IP地址的格式是正确的,比如我输入一个 “1.2.300.x” 会怎样? 比如我输入 “1.2.3.a” ,如果把 “a” 解释成10是对还是不对…诸如此类。

对于这种判断,要是真要写代码,我是讨厌的。几年来时不时就要写这种,网上也有很多现成的东西,但基本上看起来都不优雅。

我也曾看过一些Linux内核,glibc的实现,但基本上都是丑陋不堪。这种涉及到模式匹配的代码,是不是就一定要丑陋不堪呢?我想是的。

没人能用低级语言比如C,汇编这种,把这种代码写优雅!没人!

如果不用低级语言,那么用高级的试试看,比如在bash脚本里去判断呢。

我恶心透了正则表达式,这种老鳖疯狗都会写的东西,实在是太复杂而不是太简单。你让一个婴儿在电脑上写一段能运行的代码,我敢保证如果可以,那么写出来的一定是正则表达式,你同意吗?

正确的做法是实现一个状态机,然后逐个字符逐个字符的去解析,然后抽取点分十进制…唉,对于不会编程的我,这实在是太复杂!

下面是一个用go语言比葫芦画瓢写出来的:

func InetAton(ip string) uint32 {var addr uint32if ip == "" {return 1234}bits := strings.Split(ip, ".")for i := range bits {if isNotNumeric(bits[i]) {return 1234}b, _ := strconv.Atoi(bits[i])if b > 255 || b < 0 {return 1234}addr += uint32(b) << (8*(3-uint32(i)))}return addr
}

这段代码有问题吗?

问题大了去了。比方说返回值就是问题。

我们知道IPv4地址占据整个32位4G的空间,和32位系统内存一样,从0x00000000到0xffffffff都有解释,那么如果我们的转换函数返回一个uint32的类型,如何代码转换错误呢?

魔术字肯定是不行的,因为即便是小概率,魔术字也有可能代表一个合法的IP地址而不是错误!这个时候,就只能用类似C库里面的errno这种机制,但是这种机制又要考虑线程安全性,真是越考虑越复杂!

我知道atoi这个函数就有这样的问题,甚至errno都拯救不了它。请看下面的代码:

#include <stdlib.h>
#include <stdio.h>
int main()
{printf("%d\n", atoi("a"));perror("atoi-a printf");atoi("a");perror("atoi-a");printf("%d\n", atoi("x"));printf("%d\n", atoi("-1"));printf("%d\n", atoi("0"));
}

这该怎么办?

http://www.lbrq.cn/news/2793727.html

相关文章:

  • 网站app推广怎么做百度推广怎么赚钱
  • 网站建设柒金手指花总14抖音关键词排名
  • 青海做网站网页制作接单平台
  • 昌都网站建设关键词数据分析工具有哪些
  • 怎么自己制作一个好的网站如何检测网站是否安全
  • 可以在自己家做外卖的网站谷歌三件套
  • 个人备案的网站可以做商城吗市场营销八大营销模式
  • 适合设计师的网站编辑软件如何做企业网页
  • 常州做网站麦策电商营销策划咨询
  • 建设项目环评验收网站微信营销软件有哪些
  • 东莞城乡建设网站爱站小工具计算器
  • 广州知名网站建设淘宝如何提升关键词排名
  • 无锡做网站哪里好站长权重
  • 长沙网页制作网站南阳seo
  • 网店装修网站英语seo
  • 网站建设公司net2006游戏如何在网上推广
  • 政务网站建设规划收录优美图片topit
  • 高端公司网站刷网站软件
  • 企业做网站的费用免费的关键词挖掘工具
  • 深圳有什么做招聘网站的公司吗seo sem优化
  • 建设网站直接委托单位免费建站软件
  • 百度云做网站空间百度指数api
  • 动态网站开发视频教程百度助手应用商店下载安装
  • 做网站530元广州seo营销培训
  • 网站建设php怎么安装关键词歌词任然
  • 简易的网站百度竞价排名一年费用
  • 合肥知名网站制作公司短视频询盘获客系统
  • 代写网站h5下一页
  • 网站开发语言 微信接口百度推广渠道商
  • 平板电脑可以做淘宝网站吗平台连接
  • 计算机网络技术学习-day6《三层交换机配置》
  • 06高级语言逻辑结构到汇编语言之逻辑结构转换 for (...; ...; ...)
  • 动态规划----6.单词拆分
  • 49 C++ STL模板库18-类模板-pair
  • 数据结构-栈和队列
  • RESTful API 开发实践:淘宝商品详情页数据采集方案