地址轉換函數

1、inet_aton, inet_ntoa, inet_addr

轉換IPv4地址:點分10進制字符串和32位網絡字節序二進制值
n: network
a: ?
這裏寫圖片描述

INADDR_NONE: 32位都是1的二進制值,點分10進制值爲255.255.255.255,對應的字符串”255.255.255.255\0”爲16個字節,所以INET_ADDRSTRLEN的值定義成16

2、inet_pton, inet_ntop

n: network
p: presentation
這裏寫圖片描述

family:AF_INET, AF_INET6。所以這兩個函數同時支持IPv4和IPv6。如果傳入一個不支持的地址族,函數將報錯,同時將全局變量errno置爲EAFNOSUPPORT。
爲避免函數調用時超出指針strptr指向字符串的內存大小,必須傳入*strptr的大小

#include <netinet/in.h>

這裏寫圖片描述
如果len太小,則返回開指針,同時errno被置爲ENOSPC
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章