std::string ipv4address("192.168.255.18");
struct in_addr ipSourceAddress;
inet_pton(AF_INET, ipv4address.c_str(), (void *)&ipSourceAddress);
std::cout << "ipSourceAddress.s_addr: " << ipSourceAddress.s_addr;
我懂了
ipSourceAddress.s_addr: 318744768
但是,任何online converter都会给我
3232300818
,这是我的IP制作者可以使用的值。为什么我得到不同的值(value)观?
最佳答案
inet_pton
(通常是struct in_addr
)以网络字节顺序(即大字节序)存储结果。用十六进制打印两个值,您将立即看到。要将其恢复为有意义的整数,请通过ntohl
运行它。
关于c++ - inet_pton是做什么的?我不应该获取我的IP地址,而是十进制吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59385269/