首页 > 解决方案 > C:inet_ntop 返回值的位置?

问题描述

我正在查看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

标签: clibpcapinetinet-ntop

解决方案


它返回const char *,并且由于dst参数必须是有效对象(您不能传递NULLas dst),因此无需创建中间指针来返回函数的状态。


推荐阅读