博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C指针操作ip地址以4个字节的int类型作为传输对象
阅读量:7218 次
发布时间:2019-06-29

本文共 1010 字,大约阅读时间需要 3 分钟。

//16进制1个和2字符为1个字节,3个支付为2个字节    int a = 0x12345678;    char *p = &a;    printf("%x\n",*p);        p++;//从78移动到56    printf("%x\n", *p);        p++;//从56移动到34    printf("%x\n",*p);
void ip2string(int n){    unsigned char *p;        p = &n;        printf("%u.%u.%u.%u\n",*p,*(p+1),*(p+2),*(p+3));}void string2ip(char s[]){    int a = 0;    int b = 0;    int c = 0;    int d = 0;    sscanf(s,"%d.%d.%d.%d",&a,&b,&c,&d);    //printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d);    int ip;    char *p;    p = &ip;    *p = a;    p++;    *p = b;    p++;    *p = c;    p++;    *p = d;    printf("%d",ip);}int main(){    //ip地址的保存方法,通过一个int传递IPV4的地址,可以保证4个字节足够了    //"192.168.1.2" //11个字节    //"234.213.222.231" //15个字节    //"1.1.1.1" //7个字节    //IP在网络中传递的时候是一个DWORD,就是一个int    //"192.168.6.252"    int ip = 0;    unsigned char *p1;    p1 = &ip;    *p1 = 192;    p1++;    *p1 = 168;    p1++;    *p1 = 6;    p1++;    *p1 = 252;    printf("%d\n",ip);    ip2string(ip);    char s[100] = "192.168.6.252";    string2ip(s);    return 0;}

 

转载地址:http://ngtym.baihongyu.com/

你可能感兴趣的文章
mac 安装secureCRT
查看>>
/var/adm/wtmp文件太大该怎么办?
查看>>
反应器模式 vs 观察者模式
查看>>
Algernon's Noxious Emissions POJ1121 zoj1052
查看>>
iOS-数据持久化-对象归档
查看>>
iOS开发UI篇—程序启动原理和UIApplication
查看>>
MUI 里js动态添加数字输入框后,增加、减少按钮无效
查看>>
python pip 更换国内安装源(windows)
查看>>
结对编程2后篇
查看>>
oracle exp 和 imp 数据和表结构互相独立导出导入
查看>>
iphone-common-codes-ccteam源代码 CCNSPredicate.m
查看>>
这次项目中应该注意的问题和应该保持的好习惯
查看>>
python-数据结构化与保存
查看>>
LeetCode - 551. Student Attendance Record I
查看>>
Java用户线程和守护线程
查看>>
ClassLoader类加载机制&&JVM内存管理
查看>>
Caml语句 查询分配给当前用户及当前组
查看>>
记一次源码分析
查看>>
php版本引起的const问题
查看>>
js实现60s倒计时效果
查看>>