函数
GLibvsnprintf
声明 [src]
gint
g_vsnprintf (
gchar* string,
gulong n,
const gchar* format,
va_list args
)
说明 [src]
一种更安全的标准 vsprintf() 函数。输出保证不超过 n 个字符(包括终止空字符),因此很容易确保不会发生缓冲区溢出。
另请参阅 g_strdup_vprintf()。
在 1.2.3 之前的 GLib 版本中,如果输出已被截断,此函数可能会返回 -1,并且截断的字符串可能不是空终止的。在 1.3.12 之前的版本中,此函数返回输出字符串的长度。
g_vsnprintf() 的返回值遵循 ISO C99 中标准化的 vsnprintf() 函数。请注意,这不同于传统的 vsnprintf(),后者返回输出字符串的长度。
格式字符串可以包含位置参数,如单一类 Unix 规范中指定的。
此函数不直接提供给语言绑定。
参数
string-
类型:
gchar*用于保存输出的缓冲区。
数据由函数调用者所有。 该值是一个以 NUL 终止的 UTF-8 字符串。 n-
类型:
gulong要生成的最大字节数(包括终止空字符)。
format-
类型:
const gchar*标准
printf()格式字符串,但请注意字符串精度陷阱。数据由函数调用者所有。 该值是一个以 NUL 终止的 UTF-8 字符串。 args-
类型:
va_list要插入到输出中的参数列表。