簡述
將主機數轉換成無符號長整形的網路位元組順序。
#include <arpa/inet.h>
uint32_t htonl(uint32_t hostlong);
hostlong:主機位元組順序表達的32位數。
注釋
本函式將一個32位數從主機位元組順序轉換成網路位元組順序。
用法
返回值
htonl()返回一個網路位元組順序的值。
參見:
htons(),ntohl(),ntohs().
Linux
在Linux系統下:
#include <arpa/inet.h>
uint32_t htonl(uint32_t hostlong);
有些系統包含的頭檔案是 <netinet/in.h> 而不是 <arpa/inet.h>.
相關函式
uint16_t htons(uint16_t hostshort);
uint32_t ntohl(uint32_t netlong);
uint16_t ntohs(uint16_t netshort);
網際協定在處理這些多位元組整數時,使用大端位元組序。
在主機本身就使用大端位元組序時,這些函式通常被定義為空宏。
MSDN原文
This function converts a u_longfrom host to TCP/IP network byte order, which is big-endian.
u_long htonl( u_long hostlong );Parameters
•hostlong
•[in] 32-bit number in host byte order.
Return Values
This function returns the value in TCP/IP network byte order.
Remarks
This function takes a 32-bit number in host byte order and returns a 32-bit number in the network byte order used in TCP/IP networks.
htonl,其實是host to network, l 的意思是返回類型是long