VPRINTF(3S) DOMAIN/IX Reference Manual (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;
valist ap;
int vfprintf (stream, format, ap)
FILE *stream;
char *format;
valist ap;
int vsprintf (s, format, ap)
char *s, *format;
valist 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 following demonstrates how vfprintf could be used to
write an error 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;
char *fmt;
va_start(args);
Printed 5/10/85 VPRINTF-1
VPRINTF(3S) DOMAIN/IX Reference Manual (SYS5) VPRINTF(3S)
/* 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
vprintf(3X), varargs(5)
VPRINTF-2 Printed 5/10/85