vprintf(3)vprintf(3)NAME
vprintf, vfprintf, vsnprintf, vsprintf - Format a variable number of
parameters for output
SYNOPSIS
#include <stdarg.h> #include <stdio.h>
int vprintf(
const char *format,
va_list printarg ); int vfprintf(
FILE *stream,
const char *format,
va_list printarg ); int vsnprintf(
char *string,
size_t n,
const char *format,
va_list printarg ); int vsprintf(
char *string,
const char *format,
va_list printarg );
LIBRARY
Standard C Library (libc)
STANDARDS
Interfaces documented on this reference page conform to industry stan‐
dards as follows:
vfprintf(), vprintf(), vsnprintf(), vsprintf(): ISO C, XPG4, XPG4-UNIX
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
PARAMETERS
Specifies a character string that contains two types of objects: Plain
characters, which are copied to the output stream. Conversion specifi‐
cations, each of which causes zero or more items to be fetched from the
stdarg parameter lists. Specifies the arguments to be printed. Speci‐
fies the output stream. Specifies the buffer to which output is
printed. Specifies the size of the buffer referred to by string.
DESCRIPTION
The vprintf(), vfprintf(), vsnprintf(), and vsprintf() functions format
and write stdarg parameter lists.
These functions are the same as the printf(), fprintf(), snprintf(),
and sprintf() functions, respectively, except that these functions are
not called with a variable number of parameters. Instead, vprintf(),
vfprintf(), vsnprintf(), and vsprintf() are called with a parameter
list pointer as defined by stdarg. Because these functions invoke the
va_arg() macro and not the va_end() macro, the value of printarg is
indeterminate after a return. Therefore, applications should execute a
call to the va_end() macro after a call to one of these functions.
EXAMPLES
The following example demonstrates how the vfprintf() function can be
used to write an error routine:
#include <stdarg.h> #include <stdio.h>
void error(char *funct, char *fmt, ...) {
va_list args;
/*
** Display the name of the function that called error
*/
fprintf(stderr, "ERROR in %s: ", funct);
/*
** Display the remainder of the message
*/
va_start(args, fmt);
vfprintf(stderr, fmt, args);
va_end(args);
abort(); }
SEE ALSO
Functions: fopen(3), printf(3), vwprintf(3), wprintf(3)vprintf(3)