news 2026/5/2 19:08:54

将一个点分十进制串转换为IP地址

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
将一个点分十进制串转换为IP地址

程序如下:

#include <stdio.h> int net_aton(const char *cp, struct in_addr *inp); struct in_addr { unsigned int s_addr; }; int main( ) { struct in_addr addr0 ; const char *str="128.2.194.242" ; int d32 ; d32 = net_aton(str, &addr0) ; printf("IP ADDRESS is : 0x%x", d32); return 0 ; } int net_aton(const char *cp, struct in_addr *inp) { char n[3] = {0} ; char k, i=0,j=0 ; int y=0,temp ; while(cp[i]!='\0') { if( cp[i]=='.' ) { n[j] = i ; j++ ; } i++ ; } if( (n[0] - 0) >= 1) { temp=cp[0]-'0' ; for(i=0; i<n[0]-1; i++) temp=temp*10+cp[i+1]-'0' ; y= ( y | temp)<<8 ; } i=0 ; while( i<2 ) { if(n[i+1]-n[i]>1) { k=n[i]+1 ; temp=cp[k]-'0' ; for(;k<n[i+1]-1;k++) temp=temp*10+cp[k+1]-'0' ; y= ( y | temp)<<8 ; } i++; } if(n[i]<14) // 把其后的数字符变为10进制数 { k=n[i]+1; // k为第1个数字符的编号 temp=cp[k]-'0'; while( cp[k+1] != '\0' ) { temp=temp*10+cp[k+1]-'0'; k++; } y = y | temp; } inp->s_addr = y; return y; }

运行结果:
IP ADDRESS is 0x8002c2f2

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 20:51:40

论文查重率高于30%别慌,这五个高效策略助你轻松达标顺利过关

论文重复率过高时&#xff0c;采用AI工具辅助改写是高效解决方案之一&#xff0c;通过智能重组句式结构、替换同义词和调整语序&#xff0c;能在保持原意基础上显著降低重复率&#xff0c;例如将"研究表明气候变化导致极端天气增加"改写为"最新数据分析证实全球…

作者头像 李华
网站建设 2026/4/23 17:18:48

改进天鹰算法ENN模型压力容器优化毕业论文【附代码】

✅ 博主简介&#xff1a;擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导&#xff0c;毕业论文、期刊论文经验交流。✅ 具体问题可以私信或扫描文章底部二维码。&#xff08;1&#xff09;基于天鹰优化算法的ENN神经网络预测模型构建 针对压力容器设计中缺乏…

作者头像 李华
网站建设 2026/5/1 7:57:33

线程安全三剑客:无状态、加锁与CAS

深入剖析线程安全三剑客&#xff1a;无状态、加锁与CAS的实战博弈引言&#xff1a;为什么线程安全如此重要&#xff1f;在多核处理器成为主流的今天&#xff0c;并发编程已成为开发人员必须掌握的核心技能。然而&#xff0c;并发在带来性能提升的同时&#xff0c;也引入了线程安…

作者头像 李华
网站建设 2026/5/1 10:52:59

final关键字如何创造线程安全的对象

深入剖析不可变类&#xff1a;final关键字如何创造线程安全的完美对象引言&#xff1a;不可变性的力量在并发编程的世界中&#xff0c;有一个看似简单却极其强大的理念&#xff1a;不可变性&#xff08;Immutability&#xff09;。一个不可变的对象一旦被创建&#xff0c;其状态…

作者头像 李华