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

2021-10-13 09:22:47 字數 986 閱讀 1017

在ascii字串(「192.168.0.99」)與網路位元組序的二進位制值間轉換位址。

涉及函式的標頭檔案為#include

一、只適用於ipv4協議的函式:

int inet_aton(const char *  string,  struct in_addr*  addr);

//函式成功,返回值1,否則返回零。

//將string所指的c字串轉換成32位的網路位元組序二進位制值,用個指標addr儲存。

in_addr_t  inet_addr(const char *  strptr);

//返回值為32位的網路位元組序二進位制值;

//出錯時返回乙個常值inaddr_none(32位為1的值),即255.255.255.255不能由此函式

//處理,因為inet_addr(「255.255.255.255」)的返回值為2^32。

char *  inet_ntoa(struct  in_addr  inaddr);

//將乙個32位的網路位元組序二進位制位址轉換成相應的點分十進位制數串。

struct in_addr {

unsigned long s_addr;

以上函式不推薦使用奧!!因為他們不支援ipv6

二、適用於ipv4、ipv6協議的函式

int inet_pton(int family, const char* strptr, void *addrptr);

//轉換由指標strptr所指的串,通過指標addrptr儲存二進位制結果。

//成功返回1; strptr指向的不是有效表達格式返回0; 出錯返回-1。

char * inet_ntop(int family,  const void *addrptr,  char* strptr,  size_t len);

//family = af_inet/af_inet6, 如果family不被支援,兩個函式都返回錯誤,並將errno置為eafnosupport      具體使用例項見下一章節

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位址轉換函式

常見的ip位址格式類似192.168.10.1,這是乙個ipv4格式的位址,但是這種格式只是為了方便使用者對其操作。若要計算機能夠識別,需要先將其由文字格式轉換為二進位制格式。早期linux系統中常用以下函式轉換ip位址 int inet aton const char cp,struct in a...