inet_addr和inet_ntoa头文件
时间: 2024-03-08 18:46:29 浏览: 130
inet_ntoa()&inet;_addr()&htonl;()
inet_addr和inet_ntoa函数都是网络编程中用于IP地址转换的函数,它们在C语言中的声明分别在头文件<arpa/inet.h>和<netinet/in.h>中。
inet_addr函数将点分十进制的IP地址转换为网络字节序的32位二进制整数,其函数原型为:
```
in_addr_t inet_addr(const char *cp);
```
其中,参数cp是一个指向点分十进制IP地址的字符数组的指针,返回值是转换后的32位二进制整数。如果转换失败,则返回INADDR_NONE。
inet_ntoa函数将一个32位二进制整数表示的网络字节序IP地址转换为点分十进制的IP地址,其函数原型为:
```
char *inet_ntoa(struct in_addr in);
```
其中,参数in是一个in_addr结构体类型,表示要转换的32位二进制整数。返回值是一个指向点分十进制IP地址的静态字符数组的指针。由于返回值是一个静态数组,因此每次调用inet_ntoa函数都会覆盖之前的返回值,因此如果需要保存转换后的IP地址,需要将其复制到另一个字符数组中。
阅读全文