Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

printf(3S)

varargs(5)



vprintf(3X)                                           vprintf(3X)



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

SYNOPSIS
     #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
     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 varargs(5).

EXAMPLE
     The following demonstrates how vprintf 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);



Page 1                        CX/UX Programmer's Reference Manual





vprintf(3X)                                           vprintf(3X)



          /* 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)vprintf(fmt, args);
          va_end(args);
          (void)abort( );
     }

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












































Page 2                        CX/UX Programmer's Reference Manual



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