vprintf, vfprintf, vsnprintf, vsprintf - Format a variable
number of parameters for output
#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 );
Standard C Library (libc)
Interfaces documented on this reference page conform to
industry standards 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.
Specifies a character string that contains two types of
objects: Plain characters, which are copied to the output
stream. Conversion specifications, each of which causes
zero or more items to be fetched from the stdarg parameter
lists. Specifies the arguments to be printed. Specifies
the output stream. Specifies the buffer to which output
is printed. Specifies the size of the buffer referred to
by string.
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.
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(); }
Functions: fopen(3), printf(3), vwprintf(3), wprintf(3)
vprintf(3)
[ Back ] |