函数
GLibsnprintf
声明 [src]
gint
g_snprintf (
gchar* string,
gulong n,
const gchar* format,
...
)
描述 [src]
标准 sprintf()
函数的一种更安全的形式。输出保证不超过 n
个字符(包括终止空字符),因此很容易确保不会发生缓冲区溢出。
还请参阅 g_strdup_printf()
。
在 1.2.3 之前的 GLib 版本中,如果输出被截断,该函数可能返回 -1,并且截断的字符串可能不会以空字符结尾。在 1.3.12 之前的版本中,该函数返回输出字符串的长度。
g_snprintf()
的返回值符合 ISO C99 中标准化的 snprintf()
函数。请注意,这与传统 snprintf()
不同,后者返回输出字符串的长度。
格式字符串可以包含位置参数,如单一 Unix 规范中所指定的。
该函数不能直接供语言绑定使用。
参数
string
-
类型:
gchar*
用于保存输出的缓冲区。
数据由该函数的调用方拥有。 该值是一个空值结尾的 UTF-8 字符串。 n
-
类型:
gulong
要生成的字节的最大数量(包括终止空字符)。
format
-
类型:
const gchar*
标准
printf()
格式字符串,但注意 字符串精度陷阱。数据由该函数的调用方拥有。 该值是一个空值结尾的 UTF-8 字符串。 ...
-
类型:
要插入输出中的参数。