有谁知道如何从标准IP地址格式字符串("xxx.xxx.xxx.xxx")获取十进制或十六进制的IP地址?
我试过使用inet_addr()函数,但没有得到正确的结果.
我在"84.52.184.224"测试了它
函数返回3770168404,这是不正确的(正确的结果是1412741344).
谢谢!
您刚刚从预期中反转了字节 - 它们处于网络字节顺序
3770168404 = 0xE0 B8 34 54 network byte order | | \ / \ / \ / \ / /\ / \ / \ / \ | | 1412741344 = 0x54 34 B8 E0 machine order
您可以使用ntohl()从网络订单转换为机器订单.
htonl,htons,ntohl,ntohs函数可用于在网络和本地字节顺序之间进行转换.