vfprintf()               Write Formatted Data to Stream
 
 #include   <stdio.h>
 #include   <varargs.h>                 Use for UNIX V compatibility
 #include   <stdarg.h>                  Use for ANSI C standard compatibility
 
 int        vfprintf(stream,format-string,arg-ptr);
 FILE       *stream;                     Pointer to file structure
 char       *format-string;              Format control
 va_list    arg-ptr;                     Pointer to list of arguments
 
    vfprintf() formats and prints a series of characters and values to
    'stream'.  vfprintf() is similar to fprintf(), except that rather
    than taking a list of arguments, it accepts a pointer to a list of
    arguments.
 
    'arg-ptr' has the type 'va_list'.  It is defined in <varargs.h>
    (required for UNIX V compatibility ) and <stdarg.h> (required for
    compatibility with proposed ANSI C standard).  'arg-ptr' points to a
    list of arguments.  These arguments are converted and output
    according to specifications in 'format-string'.  (For the inner
    workings of variable-length parameter lists, see va_start(),
    va_arg(), and va_end()).
 
    See printf() for a complete description of 'format-string'.
 
  -------------------------------- Example ---------------------------------
 
    The following statements open a file, write data to it, and close it.
 
         #include <stdio.h>
         #include <varargs.h>
 
         FILE *stream;
         int x;
         main()
         {
             char *date = "12/21/86";
             char *header = "ANNUAL REPORT";
 
             if ((stream = fopen("TESTVA.DAT","w+")) != NULL) {
                 putdata("Data from : %s, (%s)\n",header,date);
                 for (x = 0; x < 100; x++)
                     putdata("%d",x);
                 putdata("\nEnd of Report\n");
                 fclose(stream);
             }
         }
 
         putdata(va_alist)
         {
             char *fmt_str;
             va_list arg_ptr;
 
             va_start(arg_ptr);
             fmt_str = va_arg(arg_ptr,char*);
             vfprintf(stream,fmt_str,arg_ptr);
             va_end(arg_ptr);
         }

Seealso:



This page last updated on Fri Nov 30 10:48:32 MSK 2001
Copyright © 1992-2001, Vitaly Filatov, Moscow, Russia
Webmaster