当前位置:  开发笔记 > IOS > 正文

inet_ntoa问题

如何解决《inet_ntoa问题》经验,为你挑选了1个好方法。

我宣布以下变量

unsigned long   dstAddr;
unsigned long   gateWay;
unsigned long   mask;

这些变量包含网络字节顺序的ipaddresses.因此,当我尝试使用inet_ntoa函数为掩码变量打印点符号时,它有时会打印奇怪的值.下面的代码在while循环中...循环n次.

printf("%s\t%s\t%s\t",inet_ntoa(dstAddr),inet_ntoa(gateWay),inet_ntoa(mask));

  192.168.122.0         0.0.0.0    0.255.255.255    

但它应该是

  192.168.122.0         0.0.0.0    255.255.255.0

我打印了变量的十六进制值,它显示..

007aa8c0    00000000      ffffff00  

这是因为inet_ntoa ??

实际上我试图通过NETLINKS从内核中的254路由表中获取声明变量的值.我想我仍然应该使用inet_ntoa函数将值转换为点表示法.??



1> Ignacio Vazq..:

唯一有意义的是,您对网络字节顺序中所有地址的假设是不正确的.

推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有