Function rcutils_snprintf

Function Documentation

int rcutils_snprintf(char *buffer, size_t buffer_size, const char *format, ...)

Format a string.

This function just wraps snprintf() as defined in C11 in a portable way.

On Windows this defaults to the _TRUNCATE behavior of _snprintf_s(), but only returns -1 if errno is not 0. Unlike _snprintf_s() which returns -1 when truncation occurs, this function behaves like snprintf() (http://en.cppreference.com/w/cpp/io/c/fprintf):

Number of characters written if successful or negative value if an error occurred. If the resulting string gets truncated due to buf_size limit, function returns the total number of characters (not including the terminating null-byte) which would have been written, if the limit was not imposed.

If NULL and 0 are given for buffer and buffer_size respectively, the size of the string that would be generated is returned. Either snprintf() or _vscprintf() is used to calculate this value.

See also

snprintf()

See also

_snprintf_s()

Returns:

the number of bytes that would have been written given enough space, or

Returns:

a negative number if there is an error, but unlike _snprintf_s(), -1 is not returned if there is truncation.