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

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
7月前
|
存储 算法 索引
模拟算法题练习(二)(DNA序列修正、无尽的石头)
模拟算法题练习(二)(DNA序列修正、无尽的石头)
|
7月前
|
并行计算 算法 测试技术
模拟算法题练习(一)(扫雷,灌溉,回文日期)
模拟算法题练习(一)(扫雷,灌溉,回文日期)
算法练习Day55|● 392.判断子序列 ● 115.不同的子序列
算法练习Day55|● 392.判断子序列 ● 115.不同的子序列
|
7月前
|
算法 图形学
【头歌 计算机图形学 练习】多边形填充v1.0 (第1关:扫描线填充算法(活动边表AET法) 第2关:边缘填充法 第3关:区域四连通种子填充算法 第4关:区域扫描线种子填充算法)
【头歌 计算机图形学 练习】多边形填充v1.0 (第1关:扫描线填充算法(活动边表AET法) 第2关:边缘填充法 第3关:区域四连通种子填充算法 第4关:区域扫描线种子填充算法)
437 0
|
7月前
|
算法 网络协议 数据建模
【计算机网络】—— IP协议及动态路由算法(下)
【计算机网络】—— IP协议及动态路由算法(下)
|
7月前
|
算法 网络协议 数据建模
【计算机网络】—— IP协议及动态路由算法(上)
【计算机网络】—— IP协议及动态路由算法(上)
|
7月前
|
存储 算法 搜索推荐
Leetcode算法题练习(一)
Leetcode算法题练习(一)
92 0
|
7月前
|
算法 网络协议 网络架构
【网络层】动态路由算法、自治系统AS、IP数据报格式
【网络层】动态路由算法、自治系统AS、IP数据报格式
70 0