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);
}
Seealso:
This page last updated on Fri Nov 30 10:48:32 MSK 2001
Copyright © 1992-2001, Vitaly Filatov, Moscow, Russia
Webmaster