簡體   English   中英

inet_pton 有什么作用? 我不應該得到我的 IP 地址而是十進制嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM