OC网络学习22:将IP地址转换为字符串函数inet_ntop和inet_ntoa
前言
inet_ntop
和 inet_ntoa
函数都是 用于将IP地址转换为字符串的函数
区别
- 语法不同
- inet_ntoa
1 | char * inet_ntoa(struct in_addr); |
参数 struct in_addr:只需要传递一个二进制IP地址
- inet_ntop
1 | const char *inet_ntop(int, const void *, char *, socklen_t); |
参数 int:网络地址族。
参数 const void *:指向二进制IP地址的指针。
参数 char *:存储转换后IP地址字符串的缓冲区
参数 socklen_t:缓冲区大小
- 返回值类型不同
inet_ntoa: 直接返回转换后的IP地址字符串。
inet_ntop: 返回一个指向存储转换后IP地址字符串的指针;
- 可重入性不同
inet_ntoa:使用了静态变量来存储结果,因此它是非可重入的(即不能在多线程环境下使用)
inet_ntop:则是可重入的
简单使用
- inet_ntoa
1 | #include <arpa/inet.h> |
- inet_ntop
1 | #pragma mark - 获取ip地址 |
- Post title:OC网络学习22:将IP地址转换为字符串函数inet_ntop和inet_ntoa
- Post author:张建
- Create time:2023-07-27 10:05:24
- Post link:https://redefine.ohevan.com/2023/07/27/OC网络/OC网络学习22:将IP地址转换为字符串函数inet_ntop和inet_ntoa/
- Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.