vsprintf

Formats data under control of the format control string, using a variable argument list.

Library:LibC
Classification:ANSI
Service:File and Directory I/O

Syntax

  #include <stdio.h> 
   
  int vsprintf (
     char         *buf,
     const char   *format,
     va_list       arg);
  

Parameters

buf

(OUT) Points to the buffer to which to write the result.

format

(IN) Points to the format control string. See Print Format Control Strings.

arg

(IN) Specifies a variable argument list for conversion specifiers. The number of arguments in the list is determined by the format string.

Return Values

If successful, returns the number of characters written into the array, not counting the null-terminating character. Otherwise, returns a negative value and sets errno to one of the following:

Decimal

Constant

Description

4

EBADF

The file descriptor is not a valid file descriptor open for writing.

5

ENOMEM

Insufficient storage space is available.

9

EINVAL

There are insufficient arguments.

12

ENOSPC

No free space remains on the device containing the file.

24

EAGAIN

The O_NONBLOCK flag is set for the file descriptor, and the process cannot immediately perform the write operation.

25

ENXIO

A request was made of a nonexistent device, or the request was outside the capabilities of the device.

28

EIO

A physical I/O error has occurred.

32

EPIPE

An attempt was made to write to a pipe or FIFO that is not open for reading by any process.

63

EINTR

A signal interrupted the write operation.

71

EFBIG

An attempt was made to write to a file that exceeds the maximum file size.

101

EILSEQ

A wide-character code that does not correspond to a valid character has been deleted.

Remarks

The vsprintf function formats data under control of the format control string and writes the result to buf. The vsprintf function is equivalent to sprintf, with the variable arguments replaced with arg, which has been initialized by the va_start macro.

See Also