2.16.11. strlcpy()

strlcpy() 函数将最多 size-1 个字符从以 NUL 结尾的字符串 src 复制到 dst 中。 它使用缓冲区的完整大小(而不仅仅是长度),并且结果以 NUL 结尾,但前提是 size 大于 0。 将在 size 值中包含 NUL 的一个字节。

strlcpy() 函数返回 复制的字符串的总长度(如果空间不受限制)。 它可能等于实际 复制的字符串长度,也可能不等于此长度,具体取决于是否有足够的空间。 这意味着,可以调用一次 strlcpy() 以了解需要多少空间,然后分配空间(如果没有足够的空间),最后再次调用 strlcpy() 以进行所需的复制。

此函数是很多 C 库的通用 BSD 派生扩展。

语法

extern size_t strlcpy(char *dst, const char *src, size_t size);

Copyright © 2007 ARM Limited. All rights reserved. ARM DUI 0349AC
Non-Confidential