Keil Logo


#include <stdio.h>

int vsprintf (
  char *buffer,         /* pointer to storage buffer */
  const char *fmtstr,   /* pointer to format string */
  char *argptr);        /* pointer to argument list */

The vsprintf function formats a series of strings and numeric values and stores the resulting string in buffer. This function is similar to the sprintf routine, but it accepts a pointer to a list of arguments instead of an argument list.

The fmtstr argument is a pointer to a format string which has the same form and function as the printf function's format string. The argptr argument points to a list of arguments that are converted and output according to the corresponding format specifications in fmtstr.

Return Value

The vsprintf function returns the number of characters actually written to buffer.

See Also

gets, puts, sscanf, vprintf

#include <stdio.h>
#include <stdarg.h>

char etxt[30]; /* text buffer */

void error (char *fmt, ...) {
  va_list arg_ptr;
  va_start (arg_ptr, fmt); /* format string */
  vsprintf (etxt, fmt, arg_ptr);
  va_end (arg_ptr);

void tst_vsprintf (void) {
  int i;

  i = 1000;

  /* call error with one parameter */
  error ("Error: '%d' number too large\n", i);

  /* call error with just a format string */
  error ("Syntax Error\n");
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.