为了账号安全,请及时绑定邮箱和手机立即绑定

从字符串获取IPv4地址的最快方法

从字符串获取IPv4地址的最快方法

C++
肥皂起泡泡 2019-11-19 10:44:56
我有以下代码,它比inet_addr快约7倍。我想知道是否有办法改进它以使其更快,或者是否存在更快的替代方案。这段代码要求提供一个有效的,以空值终止的IPv4地址,且不带空格,在我看来,这总是这样,因此我针对这种情况进行了优化。通常,您会进行更多的错误检查,但是如果有一种方法可以使以下操作更快,或者存在更快的替代方法,我将不胜感激。UINT32 GetIP(const char *p){    UINT32 dwIP=0,dwIP_Part=0;    while(true)    {        if(p[0] == 0)        {            dwIP = (dwIP << 8) | dwIP_Part;            break;        }        if(p[0]=='.')         {                   dwIP = (dwIP << 8) | dwIP_Part;                                 dwIP_Part = 0;           p++;        }        dwIP_Part = (dwIP_Part*10)+(p[0]-'0');        p++;    }    return dwIP;}
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 712 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信