linux ip 整数转字符

linux ip 整数转字符,第1张

楼主你好!

这个函数char

FAR

*

inet_ntoa(

struct

in_addr

in)

功能:将一个IP转换成一个互联网标准点分格式的字符串。

你可以这样做:

先定义个sockaddr_in

p

然后给p.sin_addr.s_addr=0xfeff0032

再定义个字符指针char

*a用来存放转后的字符串

最后使用a=inet_ntoa(p.sin_addr.saddr)

下面是我写的简单的测试程序:

下面是运行的结果:

提醒下:

p.sin_addr.s_addr=0xfeff0032这里可能涉及网络字节转换,需要用到ntohl()函数,具体情况得看你的这个0xfeff0032到底是网络字节的ip整数,还是你自己主机上的ip整数。我这把它看成是主机上的ip整数!

希望的回答对你有帮助!

因为你的csum = { 7,4,1,‘a’ },并不是 { ‘7’,‘4’,‘1’,‘a’ }。字符和数值是有区别的,char c=1;不同于char c=‘1’;

修改:csum[pos++] = ‘0’+i


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8962386.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-23
下一篇2023-04-23

发表评论

登录后才能评论

评论列表(0条)

    保存