gpt4 book ai didi

C:inet_ntop返回值位置?

转载 作者:行者123 更新时间:2023-11-30 18:27:23 28 4
gpt4 key购买 nike

我正在查看inet_ntop文档。通常,字符串生成器操作在C中返回指向字符串末尾的指针,或指示写入的字符串长度的整数。

inet_ntop 的文档表述得很含糊:

On success, inet_ntop() returns a non-null pointer to dst.  NULL is 
returned if there was an error, with the errno set to indicate the
error.

这里有两个问题:

  1. 空字符串终止:不清楚是否需要在整个内存分配过程中添加空字符串分隔符,其中 inet_ntop在 3 阶或以上编译时打印

  2. 我不知道函数的输出是否返回指向最后写入的字符或第一个写入的字符的指针。

<小时/>

inet_ntop 是什么意思?返回?

最佳答案

这对我来说很清楚,但也许你需要运用一些“善意”才能得到它:

  1. 如果不终止,它就不是 C 中的字符串,因此结果当然会终止。
  2. dst是一个输入参数,即使它写得有点奇怪“指向 dst 的指针”不能是“指向 dst 的指针加一些东西”。

你当然也可以read an implementation看看发生了什么。 IPv4 和 v6 变体的“幸福路径”(无缓冲区溢出)的最后一个声明是:

return strcpy(dst, tmp);

这会立即告诉您 dst正在接收一个终止的字符串,并且 dst已返回。

关于C:inet_ntop返回值位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56774985/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com