vprintf()
- 函数原型: vprintf( char const* const _Format,
va_list _ArgList)
- 函数作用:
之间提到过C语言的可变参数,我们在函数内部需要使用stdarg.h头文件中的一个类型和三个宏来处理可变参数列表中传入的数据。
vprintf函数就是根据传入参数va_list指定的可变参数列表,根据format中指定的格式,将可变参数列表中的数据按照格式打印在标准输出上。
它和printf很相似,但是其第二个参数接收的是一个可变参数列表的变量,所以其处理可变参数列表的数据更为方便。- 系列函数: vsprintf(char* const _Buffer,
char const* const _Format,
va_list _ArgList);
将可变参数列表的数据根据format指定的格式写入到buffer字符数组中(vprintf是直接写到标准输出)
vsnprintf(char* const _Buffer,
size_t const _BufferCount,
char const* const _Format,
va_list _ArgList)
vsprintf更加安全的版本,第二个参数传入buffer的大小,防止溢出。
void func(const char* format, ...) {
va_list args;
va_start(args, format);
vprintf(format, args);
va_end(args);
}