Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ vprintf(3S) — DG/UX 5.4.2A

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

printf(3S)

stdarg(5)



vprintf(3S)                      DG/UX 5.4.2                     vprintf(3S)


NAME
       vprintf, vfprintf, vsprintf - print formatted output of a variable
       argument list

SYNOPSIS
       #include <stdio.h>
       #include <stdarg.h>
       int vprintf(const char *format, valist ap);
       int vfprintf(FILE *stream, const char *format, valist ap);
       int vsprintf(char *s, const char *format, valist 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 the <stdarg.h> header file.

       The <stdarg.h> header file defines the type valist and a set of
       macros for advancing through a list of arguments whose number and
       types may vary.  The argument ap to the vprint family of routines is
       of type valist.  This argument is used with the <stdarg.h> header
       file macros vastart, vaarg and vaend [see vastart, vaarg, and
       vaend in stdarg(5)].  The EXAMPLE section below shows their use with
       vprintf.

EXAMPLE
       The following demonstrates how vfprintf could be used to write an
       error routine:

              #include <stdio.h>
              #include <stdarg.h>
              . . .
              /*
               *   error should be called like
               *         error(functionname, format, arg1, ...);
               */
              void error(char *functionname, char *format, ...)
              {
                  valist ap;
                  vastart(ap, format);
                  /* print out name of function causing error */
                  (void) fprintf(stderr, "ERR in %s: ", functionname);
                  /* print out remainder of message */
                  (void) vfprintf(stderr, format, ap);
                  vaend(ap);
                  (void) abort;
              }

SEE ALSO
       printf(3S), stdarg(5).

DIAGNOSTICS
       vprintf and vfprintf return the number of characters transmitted, or
       return -1 if an error was encountered.



Licensed material--property of copyright holder(s)                         1


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