2.16.6. vsnprintf()

vsnprintf() 函数的工作方式几乎与 ISO vsprintf() 函数完全相同,只不过调用方可以指定缓冲区的最大大小。 返回值是设置了格式的完整字符串的长度,如果缓冲区足够大,则可能已写入该字符串。 因此,仅当返回值最少为 0 且最多为 n-1 时,写入到缓冲区中的字符串才是完整的。

bufsize 参数指定函数可写入的 buffer 字符数,包括 终止空字符。

stdio.h 是 ISO 头文件。

ISO C90 标准禁止在 ISO 头文件中定义此函数。 使用该函数通过 --c90 --strict 选项编译的代码将产生错误。

ISO C99 标准要求 ISO 头文件中包含此函数。 使用该函数通过 --c99 --strict 选项编译的代码不会产生错误。

语法

int vsnprintf(char *buffer, size_t bufsize, const  char *format, va_list ap);

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