Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

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)
Man Page