常見的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...