C语言-将字符串形式的ip地址转化为4字节数字

2023-11-02

#include<stdio.h>

static unsigned int ipstr2num(char* str)
{
	unsigned char num[4]={0};
	char tmp[3];
	int n = 0,value=0;
	// 最多转化四次
	for(int i=0;i<4;i++)
	{
		// 每次最多转化3位字符
		for(int j = 0;j<3;j++)
		{
			if((*str == '.') || (*str == '\0'))
				break;
			tmp[j] = *str;
			value = value * 10 + tmp[j] - '0';
			str += 1;
		}
		
		num[n] = value;
		value = 0;
		
		if(*str == '\0')
		{
			break;
		}
		else
		{
			str += 1;
			n += 1;
		}
		
	}
	// 移位拼成一个unsigned int
	return ((unsigned int)(num[3]<<24) | (unsigned int)(num[2]<<16) | (unsigned int)(num[1]<<8) | (unsigned int)(num[0]) );
}

int main()
{
	char str[]="255.255.255.255";
	int num=0;
	
	num = ipstr2num(str);
	printf("%x",num);
	
	return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言-将字符串形式的ip地址转化为4字节数字 的相关文章

  • 【插件】webstorm 常用插件 好用的插件分享

    下面分享部分自用的好用的webstorm插件 1 中文插件 我这里是已经安装了中文插件的了 英文版的操作是一样的 File gt Settings gt Plugins gt 搜索 chinese 即可 操作步骤如下 安装完成之后重启Web
  • 一文读懂联邦学习的前世今生(建议收藏)

    前言 联邦学习 Federated Learning 作为人工智能的一个新分支 为机器学习的新时代打开了大门 如果投票问人工智能和大数据应用领域有什么好玩又好用的新技术 联邦学习 一定是排在前列的 这项技术由谷歌在2016年首次提出 从20
  • 面向万物智联的应用框架的思考和探索(下)

    原文 面向万物智联的应用框架的思考和探索 下 点击链接查看更多技术内容 应用框架 是操作系统连接开发者生态 实现用户体验的关键基础设施 其中 开发效率和运行体验是永恒的诉求 业界也在持续不断的发展和演进 本文重点围绕移动应用框架 梳理其关键
  • html 查看excel表格,html展示excel表格数据-html读取本地excel文件并展示

    怎么用html实现excel表格 首先html不能读取本地excel文件 其次就算是javascript 也是不允许的 这是为了安全考虑 如果前端脚本可以读取本地文件 那很不安全 如何将excel上的数据表以html的格式在新建演示文稿 A

随机推荐