VMS Help  —  CRTL  snprintf
    Performs formatted output to a string in memory.

    Format

      #include  <stdio.h>

      int snprintf  (char *str, size_t n, const char
                    *format_spec, . . . );

1  –  Arguments

 str

    The address of the string that will receive the formatted output.

 n

    The size of the buffer referred to by str.

 format_spec

    A pointer to a character string that contains the format
    specification.

  . . .

    Optional expressions whose resultant types correspond to
    conversion specifications given in the format specification.

    If no conversion specifications are given, you may omit the
    output sources. Otherwise, the function calls must have at least
    as many output sources as there are conversion specifications,
    and the conversion specifications must match the types of the
    output sources.

    Conversion specifications are matched to output sources in left-
    to-right order. Excess output pointers, if any, are ignored.

2  –  Description

    The snprintf function is identical to the sprintf function with
    the addition of the n argument, which specifies the size of the
    buffer referred to by str.

    On successful completion, snprintf returns the number of bytes
    (excluding the terminating null byte) that would be written to
    str if n is sufficiently large.

    If n is 0, nothing is written, the number of bytes (excluding the
    terminating null) that would be written if n were sufficiently
    large are returned, and str might be a NULL pointer. Otherwise,
    output bytes beyond the n - 1st are discarded instead of being
    written to the array, and a null byte is written at the end of
    the bytes actually written into the array.

    If an output error is encountered, a negative value is returned.

3  –  Return Values

    x                  The number of bytes (excluding the terminating
                       null byte) that would be written to str if n
                       is sufficiently large.
    Negative value     Indicates an output error occurred. The
                       function sets errno. For a list of errno
                       values set by this function, see fprintf.
Close Help