Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ vsprintf(3S) — A/UX 3.0.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

varargs(5)




vprintf(3S) vprintf(3S)
NAME vprintf, vfprintf, vsprintf - format and output data from a variable-length 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; 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). 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...); */ /*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); January 1992 1



vprintf(3S) 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( ); } SEE ALSO varargs(5) 2 January 1992

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