inet_ntop 为什么要传入一个缓冲区?

发布于 2022-09-01 06:42:37 字数 70 浏览 6 评论 0

inet_ntop 把数字转化为字符串表示,返回的就是一个字符串指针,为什么要传入一个缓冲区呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

恰似旧人归 2022-09-08 06:42:37

 const char *inet_ntop(int af, const void *src, char *dst, socklen_t cnt);

  这个函数转换网络二进制结构到ASCII类型的地址,参数的作用和上面相同,只是多了一个参数socklen_t
cnt,他是所指向缓存区dst的大小,避免溢出,如果缓存区太小无法存储地址的值,则返回一个空指针,并将errno置为ENOSPC

我想你说的是dst这个缓冲区,dst是用作存储转换结果的空间,需要由外部分配后再传入函数.如果只在函数中分配的话,函数返回后这个空间就会失效了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文