VPRINTF(3V) — C LIBRARY FUNCTIONS
NAME
vprintf, vfprintf, vsprintf − print formatted output of a varargs argument list
SYNOPSIS
#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;
char ∗vsprintf(s, format, ap)
char ∗s, ∗format;
va_list ap;
SYSTEM V SYNOPSIS
int vsprintf(s, format, ap)
char ∗s, ∗format;
va_list ap;
DESCRIPTION
vprintf(), vfprintf(), and vsprintf() are the same as printf(3V), fprintf(), and sprintf() (see printf(3V)) respectively, except that instead of being called with a variable number of arguments, they are called with an argument list as defined by varargs(3).
RETURN VALUES
On success, vprintf() and vfprintf() return the number of characters transmitted, excluding the null character. On failure, they return EOF.
vsprintf() returns s.
SYSTEM V RETURN VALUES
vsprintf() returns the number of characters transmitted, excluding the null character.
EXAMPLES
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...);
∗ Note: function_name and format cannot be declared
∗ separately because of the definition of varargs.
∗/
/∗VARARGS0∗/
void
error (va_alist)
va_dcl
{
va_list args;
char ∗fmt;
va_start(args);
/∗ print 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(stderr, fmt, args);
va_end(args);
(void) abort();
}
SEE ALSO
Solbourne Computer, Inc. — 21 January 1990