函数
GLibstrlcpy
声明 [src]
gsize
g_strlcpy (
gchar* dest,
const gchar* src,
gsize dest_size
)
描述 [src]
可移植的包装器,在有相应函数的系统中调用 strlcpy()
,否则模拟 strlcpy()
。将 src
复制到 dest
;保证 dest
以空结尾;src
必须以空结尾;dest_size
是缓冲区的大小,而非要复制的字节数。
至多复制 dest_size
- 1 个字符。总是以空结尾(除非 dest_size
为 0)。此函数不会分配内存。与 strncpy()
不同,此函数不会填充 dest
(所以通常较快)。它返回尝试结果的大小,strlen (src)
,因此若 retval
>= dest_size
,则发生了截断。
忠告:strlcpy()
据称比 strcpy()
或 strncpy()
更安全,但如果你真的想要避免失误,g_strdup()
是更好的选择。