Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Turbo C - <b>vsprintf() write formatted data to string</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
vsprintf()               Write Formatted Data to String

 #include   <stdio.h>
 #include   <varargs.h>                 Use for UNIX V compatibility
 #include   <stdarg.h>                  Use for ANSI C standard compatibility

 int        vsprintf(buffer,format-string,arg-ptr);
 char       *buffer;                     Storage location for output
 char       *format-string;              Format control
 va_list    arg-ptr;                     Pointer to list of arguments

    vsprintf() formats and prints a series of characters and values to
    'buffer'.  It is similar to sprintf() except that it accepts a
    pointer to a list of arguments rather than 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 write data to a buffer then print it to the
    console.

         #include <stdio.h>
         #include <varargs.h>

         char *buffer;
         int x;

         main()
         {
             char *date = "12/21/86";
             char *header = "ANNUAL REPORT";

             putdata("Data from : %s, (%s)\n",header,date);
             for (x = 0; x < 100; x++)
                   putdata("%d",x);
             putdata("\nEnd of Report\n");
             printf("%s",buffer);
         }

         putdata(va_alist)
         {
             char *fmt_str;
             va_list arg_ptr;

             va_start(arg_ptr);
             fmt_str = va_arg(arg_ptr,char*);
             vfprintf(buffer,fmt_str,arg_ptr);
             va_end(arg_ptr);
         }

See Also: sprintf() va_arg()

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson