htonl htons ntohl ntohs实现
时间: 2024-01-21 22:19:28 浏览: 87
这几个函数都是用来进行网络字节序和主机字节序之间的转换的。
- `htonl` (Host TO Network Long):将一个 32 位的主机字节序整数转换为网络字节序整数。如果主机字节序是大端字节序,则不做任何改变;如果主机字节序是小端字节序,则将其转换为大端字节序。返回网络字节序整数。
```c++
#include <arpa/inet.h>
uint32_t htonl(uint32_t hostlong);
```
- `htons` (Host TO Network Short):将一个 16 位的主机字节序整数转换为网络字节序整数。如果主机字节序是大端字节序,则不做任何改变;如果主机字节序是小端字节序,则将其转换为大端字节序。返回网络字节序整数。
```c++
#include <arpa/inet.h>
uint16_t htons(uint16_t hostshort);
```
- `ntohl` (Network TO Host Long):将一个 32 位的网络字节序整数转换为主机字节序整数。如果当前主机字节序是大端字节序,则不做任何改变;如果当前主机字节序是小端字节序,则将其转换为小端字节序。返回主机字节序整数。
```c++
#include <arpa/inet.h>
uint32_t ntohl(uint32_t netlong);
```
- `ntohs` (Network TO Host Short):将一个 16 位的网络字节序整数转换为主机字节序整数。如果当前主机字节序是大端字节序,则不做任何改变;如果当前主机字节序是小端字节序,则将其转换为小端字节序。返回主机字节序整数。
```c++
#include <arpa/inet.h>
uint16_t ntohs(uint16_t netshort);
```
阅读全文