Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ vprintf.bsd(3S) — Domain/IX SR9.5

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

vprintf(3X)

varargs(5)

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 analogous to printf(3S), fprintf(3S), and sprintf(3S) respectively, with one exception.  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 on the next page 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); /* 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). 

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026