Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ vprintf(3S) — sys5 — Apollo Domain/IX SR9.5

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

printf(3S)

varargs(5)



VPRINTF(3S)              DOMAIN/IX SYS5               VPRINTF(3S)



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

USAGE
     #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 example below demonstrates how vfprintf could be used to
     write an error message 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;



Printed 12/4/86                                         VPRINTF-1







VPRINTF(3S)              DOMAIN/IX SYS5               VPRINTF(3S)



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


RELATED INFORMATION
     printf(3S), varargs(5)






































VPRINTF-2                                         Printed 12/4/86





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