IP位址轉換函式

2021-10-02 13:07:58 字數 969 閱讀 1326

常見的ip位址格式類似192.168.10.1,這是乙個ipv4格式的位址,但是這種格式只是為了方便使用者對其操作。若要計算機能夠識別,需要先將其由文字格式轉換為二進位制格式。

早期linux系統中常用以下函式轉換ip位址

int

inet_aton

(const

char

* cp,

struct in_addr * inp)

;in_addr_t inet_addr

(const

char

* cp)

;char

*inet_ntoa

(struct in_addr_in)

;

但是以上函式只能處理ipv4位址。如今linux使用以下函式進行ip位址轉換;不僅能轉換ipv4位址,也能轉換ipv6位址;這些函式存在函式庫arpa/inet.h中;

int

inet_pton

(int af,

const

char

* src,

void

* dst)

;const

char

*inet_ntop

(int af,

const

void

* src,

char

* dst,socklen_t size)

;

函式inet_pton()會先將字串src轉換為af位址族中的網路位址結構,進而將轉換後的網路位址結構儲存到引數dst所指的緩衝區中,其中引數af的值必須是af_inet或af_inet6。

函式inet_ntop()會將af位址族中的網路地質結構src轉換為字串,再將獲得的位址字串儲存到引數dst所指的緩衝區中。

以上兩個函式所需要轉換ipv4和ipv6這兩種形式的位址,因此用來傳遞位址的引數型別為void *;

IP位址轉換函式

ip位址轉換函式 unsigned long inet addr const char cp inet addr將乙個點分十進位制ip位址字串轉換成32位數字表示的ip位址 網路位元組順序 char inet ntoa struct in addr in inet ntoa將乙個32位數字表示的ip...

IP位址轉換函式

include in addr t inet addr const char strptr 點分十進位制ipv4位址轉換為網路ipv4位址,失敗返回inaddr none int inet aton const char cp,struct in addr inp 點分十進位制ipv4位址轉換為網路...

ip位址轉換數字函式 iton IP位址轉換函式

在ascii字串 192.168.0.99 與網路位元組序的二進位制值間轉換位址。涉及函式的標頭檔案為 include 一 只適用於ipv4協議的函式 int inet aton const char string,struct in addr addr 函式成功,返回值1,否則返回零。將strin...