vprintf(S) 6 January 1993 vprintf(S) Name vprintf, vfprintf, vsprintf - print formatted output of a varargs argument list Syntax cc . . . -lc #include <stdio.h> #include <varargs.h> int vprintf (format, ap) const char *format; va_list ap; int vfprintf (stream, format, ap) FILE *stream; const char *format; va_list ap; int vsprintf (s, format, ap) char *s; const char *format; va_list ap; Description The vprintf, vfprintf, and vsprintf functions 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(S). Example The following demonstrates the use of vfprintf to write an error routine. #include <stdio.h> #include <varargs.h> ... /* * error should be called by: * error(function_name, format, arg1, arg2...); */ /*VARARGS*/ 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(stderr, fmt, args); va_end(args); (void)abort( ); } See also printf(S), varargs(S) Standards conformance vfprintf, vprintf and vsprintf are conformant with: AT&T SVID Issue 2; X/Open Portability Guide, Issue 3, 1989; and ANSI X3.159-1989 Programming Language -- C.