Linux C 网络_IP地址转换函数族

通常 IP 地址会被表示为 “点分十进制” 方式,而在 Linux 的网络编程中会使用32位二进制值,所以 Linux 提供了函数族用于将这两个数值进行转换,这些函数包括 inet_aton、inet_ntoa 和 inet_addr 等。

IP 地址转换函数族

  • inet_aton 函数用于将点分十进制数的 IP 地址转换成为网络字节序的 32 位二进制数值。输入的点分十进制数 IP 存放在参数 straddr 中,作为返回结果的二进制数值存放在 addrptr 中。
#include <arpa/inet.h>
int inet_aton (const char *straddr, struct in_addr *addrptr);
  • inet_ntoa 函数调用的结果将作为函数的返回值返回给调用它的函数。
#include <arpa/inet.h>
char *inet_ntoa (struct in_addr inaddr);
  • int_addr 函数的功能和 inet_aton 函数相同,但是结果传递的方式不同。输入的点分十进制数 IP 存放在参数 straddr 中,但是结果以返回值的形式返回,函数类型为 in_addr_t,不同于 inet_aton 的整型。
#include < arpa/inet.h>
in_addr_t inet_addr (const char *straddr);
发布了70 篇原创文章 · 获赞 131 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_43239560/article/details/103054520