IP地址转换整型(算法练习)

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介: IP地址转换整型(算法练习)
// ipTrans.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <windows.h>
typedef union
{
  unsigned char data[4];
  unsigned int ip;
}IP;
unsigned int TransIP(char *pstrIp)
{
  IP ipstr = {0};
  unsigned char temdata[3] = {0};
  int i = 0, k = 0, point = 0, t = 0;
  while(pstrIp[i] != '\0'){
    if(pstrIp[i] != '.')
    {             
       if(point > 0)
       {
         ipstr.data[k++] = (temdata[0] - '0')*100 + (temdata[1] - '0')*10 +(temdata[2] - '0');
         point = 0;
         t = 0;
       }
       temdata[t++] = pstrIp[i];      
    }
    else
    {
      point++;
    }
    i++;
  }
  ipstr.data[k] = (temdata[0] - '0')*100 + (temdata[1] - '0')*10 +(temdata[2] - '0');
  return ipstr.ip;
}
int _tmain(int argc, _TCHAR* argv[])
{
  char *ipstr = "169.168.1.1";
  unsigned int ip = TransIP(ipstr);
  printf("%s转换为整数为%u", ipstr,ip);
  system("pause");
  return 0;
}

上面是在vs2010上编写的代码,运行结果如下

微信图片_20230116213908.png

目录
相关文章
|
1月前
|
存储 算法 索引
模拟算法题练习(二)(DNA序列修正、无尽的石头)
模拟算法题练习(二)(DNA序列修正、无尽的石头)
|
1月前
|
并行计算 算法 测试技术
模拟算法题练习(一)(扫雷,灌溉,回文日期)
模拟算法题练习(一)(扫雷,灌溉,回文日期)
|
8月前
|
算法
算法练习Day55|● 392.判断子序列 ● 115.不同的子序列
算法练习Day55|● 392.判断子序列 ● 115.不同的子序列
|
4月前
|
算法 图形学
【头歌 计算机图形学 练习】多边形填充v1.0 (第1关:扫描线填充算法(活动边表AET法) 第2关:边缘填充法 第3关:区域四连通种子填充算法 第4关:区域扫描线种子填充算法)
【头歌 计算机图形学 练习】多边形填充v1.0 (第1关:扫描线填充算法(活动边表AET法) 第2关:边缘填充法 第3关:区域四连通种子填充算法 第4关:区域扫描线种子填充算法)
175 0
|
3月前
|
存储 算法 搜索推荐
Leetcode算法题练习(一)
Leetcode算法题练习(一)
55 0
|
9月前
|
算法 前端开发
算法练习--深拷贝与浅拷贝
深拷贝与浅拷贝
59 0
|
4月前
|
算法 网络协议 网络架构
【网络层】动态路由算法、自治系统AS、IP数据报格式
【网络层】动态路由算法、自治系统AS、IP数据报格式
33 0
|
5月前
|
算法
代码随想录算法训练营第二十七天 | LeetCode 93. 复原 IP 地址、78. 子集、90. 子集 II
代码随想录算法训练营第二十七天 | LeetCode 93. 复原 IP 地址、78. 子集、90. 子集 II
34 0