vprintf(3s) [ultrix man page]
vprintf(3s) vprintf(3s) Name vprintf, vfprintf, vsprintf - print formatted output of a varargs argument list Syntax #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 The and routines are the same as and respectively, except that instead of being called with a variable number of arguments, they are called with an argument list as defined by Examples The following demonstrates how 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(stderr, fmt, args); va_end(args); (void)abort( ); } See Also varargs(3) vprintf(3s)
Check Out this Related Man Page
vprintf(3S) vprintf(3S) NAME
vprintf(), vfprintf(), vsprintf(), vsnprintf() - print formatted output of a varargs argument list SYNOPSIS
DESCRIPTION
and are the same as and respectively, except that instead of being called with a variable number of arguments, they are called with an argument list as defined by RETURN VALUE
Each function returns the number of bytes transmitted (excluding the null byte character in the case of or a negative value if an output error was encountered. By default, returns a negative value if maxsize is smaller than the number of characters formatted. In the UNIX 2003 standards environment (see standards(5)) it returns the number of bytes that would have been written to buffer s, excluding the terminating null byte, if maxsize had been sufficiently large. EXAMPLES
The following demonstrates how could be used to write an error routine: #include <stdarg.h> #include <stdio.h> . . . /* * error should be called using the form: * error(function_name, format, arg1, arg2...); */ /*VARARGS0*/ void error(va_alist) 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
setlocale(3C), printf(3S), standards(5), thread_safety(5), varargs(5), glossary(9). STANDARDS CONFORMANCE
vprintf(3S)