[英]What does inet_pton do? Shouldn't I get my IP address but in decimal?
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
但是,任何在線轉換器都會給我3232300818
,這是適用於我的 IP 工匠的值。
為什么我得到不同的值?
inet_pton
(和一般的struct in_addr
)以網絡字節順序存儲結果,即大端。 以十六進制打印這兩個值,您會立即看到。 要將其恢復為有意義的整數,請通過ntohl
運行它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.