HPlogo HP-UX Reference Volume 4 of 5 > v

vprintf(3S)

» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Index

NAME

vprintf(), vfprintf(), vsprintf(), vsnprintf() — print formatted output of a varargs argument list

SYNOPSIS

#include <stdarg.h> #include <stdio.h> int vprintf(const char *format, va_list ap); int vfprintf(FILE *stream, const char *format, va_list ap); int vsprintf(char *s, const char *format, va_list ap); int vsnprintf(char *s, size_t maxsize, const char *format, va_list ap);

DESCRIPTION

vprintf(), vfprintf(), vsprintf(), and vsnprintf() are the same as printf(), fprintf(), sprintf(), and snprintf() respectively, except that instead of being called with a variable number of arguments, they are called with an argument list as defined by <stdarg.h>.

EXAMPLE

The following demonstrates how vfprintf() 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( ); }

APPLICATION USAGE

The interfaces vprintf(), vfprintf(), vsnprintf() and vsprintf() are thread-safe. These interfaces are not async-cancel-safe. A cancellation point may occur when a thread is executing vprintf() or vfprintf().

STANDARDS CONFORMANCE

vprintf(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1, ANSI C

vfprintf(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1, ANSI C

vsprintf(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1, ANSI C

© Hewlett-Packard Development Company, L.P.