gpt4 book ai didi

c - 为什么 unsigned int 而不是 strlcat 和 strlcpy 的 void?

转载 作者:太空宇宙 更新时间:2023-11-04 00:16:05 25 4
gpt4 key购买 nike

我不明白为什么我们必须为 strlcatstrlcpy 返回一个 unsigned int,为什么我们需要那个?这不是该功能的目标。

感谢您的回复

最佳答案

这些函数的目的是(以某种方式)移动字符串,当您这样做时程序员经常问的一个问题是“移动了多少个字符?”。

既然它已经知道了这个信息,它就不需要再返回这个信息了。否则程序员将不得不在之前和/或之后做一些昂贵的 strlen()。

此外,如果它们由于缓冲区太小而失败,它们会为您提供所需的字符数,以便您可以检测到截断,并有可能重新分配缓冲区。

关于c - 为什么 unsigned int 而不是 strlcat 和 strlcpy 的 void?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51902623/

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