函数

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() 是更好的选择。

参数

dest

类型: gchar*

目标缓冲区。

数据归函数的调用者所有。
该值是已用 NUL 终止的 UTF-8 字符串。
src

类型: const gchar*

源缓冲区。

数据归函数的调用者所有。
该值是已用 NUL 终止的 UTF-8 字符串。
dest_size

类型: gsize

dest 的长度(以字节为单位)。

返回值

类型: gsize

src 的长度。