Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Microsoft C 6.0 - <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
 const 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(), but instead of taking a list
    of arguments it accepts a pointer to a list of arguments.

    'arg-ptr' has the type 'va_list'.  'va_list' is defined in
    <varargs.h> for UNIX V compatibility and in <stdarg.h> for
    compatibility with the 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