VPRINTF(3S) DOMAIN/IX SYS5 VPRINTF(3S)
NAME
vprintf, vfprintf, vsprintf - print formatted output of a
varargs argument list
USAGE
#include <stdio.h>
#include <varargs.h>
int vprintf(format, ap)
char *format;
va_list ap;
int vfprintf(stream, format, ap)
FILE *stream;
char *format;
va_list ap;
int vsprintf(s, format, ap)
char *s, *format;
va_list ap;
DESCRIPTION
Vprintf, vfprintf, and vsprintf are the same as printf,
fprintf, and sprintf respectively, except that, instead of
being called with a variable number of arguments, they are
called with an argument list as defined by varargs(5).
EXAMPLE
The example below demonstrates how vfprintf could be used to
write an error message routine.
#include <stdio.h>
#include <varargs.h>
.
.
.
/*
* error should be called like
* error(function_name, format, arg1, arg2...);
*/
/*VARARGS0*/
void
error(va_alist)
/* Note that the function_name and format arguments cannot be
* separately declared because of the definition of varargs.
*/
va_dcl
{
va_list args;
Printed 12/4/86 VPRINTF-1
VPRINTF(3S) DOMAIN/IX SYS5 VPRINTF(3S)
char *fmt;
va_start(args);
/* print out name of function causing error */
(void)fprintf(stderr, "ERROR in %s: ", va_arg(args, char *));
fmt = va_arg(args, char *);
/* print out remainder of message */
(void)vfprintf(fmt, args);
va_end(args);
(void)abort( );
}
RELATED INFORMATION
printf(3S), varargs(5)
VPRINTF-2 Printed 12/4/86