Linux C 網絡_IP地址轉換函數族

通常 IP 地址會被表示爲 “點分十進制” 方式,而在 Linux 的網絡編程中會使用32位二進制值,所以 Linux 提供了函數族用於將這兩個數值進行轉換,這些函數包括 inet_aton、inet_ntoa 和 inet_addr 等。

IP 地址轉換函數族

  • inet_aton 函數用於將點分十進制數的 IP 地址轉換成爲網絡字節序的 32 位二進制數值。輸入的點分十進制數 IP 存放在參數 straddr 中,作爲返回結果的二進制數值存放在 addrptr 中。
#include <arpa/inet.h>
int inet_aton (const char *straddr, struct in_addr *addrptr);
  • inet_ntoa 函數調用的結果將作爲函數的返回值返回給調用它的函數。
#include <arpa/inet.h>
char *inet_ntoa (struct in_addr inaddr);
  • int_addr 函數的功能和 inet_aton 函數相同,但是結果傳遞的方式不同。輸入的點分十進制數 IP 存放在參數 straddr 中,但是結果以返回值的形式返回,函數類型爲 in_addr_t,不同於 inet_aton 的整型。
#include < arpa/inet.h>
in_addr_t inet_addr (const char *straddr);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章