INET_ADDRSTRLEN 和 INET6_ADDRSTRLEN 長度


在<netinet/in.h>中有這兩個宏的定義

#define INET_ADDRSTRLEN 16
#define INET6_ADDRSTRLEN 46

INET_ADDRSTRLEN

  1. 這是32位ipv4地址,用10進制+句點表示時,所使用內存長度的最大值。
  2. 111.111.111.111 這是最大長度的一個例子,其中包括4組十進制整數,每組3個,三個句點,再加一個NULL符號,所以總共需要4*3+3+1=16個字節

INET6_ADDRSTRLEN

  1. 這是128位ipv6地址,用十六進制+冒號顯示時,所使用內存長度的最大值
  2. 也支持兼容ipv4的兼容格式
  3. 非兼容格式:1111:1111:1111:1111:1111:1111:1111:1111,這是非兼容格式最大長度的一個例子,其中包括8組十六進制整數,每組4個,七個冒號,再加一個NULL結束符,所以總共需要8*4+7+1=40個字節
  4. 兼容格式:1111:1111:1111:1111:1111:1111:111.111.111.111,這是兼容格式最大長度的一個例子,其中包括6組十六進制整數,每組4個,六個冒號,再加一組ipv4地址,一個NULL結束符,所以總共需要8*4+6+16=46個字節


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM