rcutils
master
C API providing common utilities and data structures.
|
#include <stdarg.h>
#include <stddef.h>
#include "rcutils/macros.h"
#include "rcutils/visibility_control.h"
Go to the source code of this file.
Functions | |
int | rcutils_snprintf (char *buffer, size_t buffer_size, const char *format,...) |
Format a string. More... | |
int | rcutils_vsnprintf (char *buffer, size_t buffer_size, const char *format, va_list args) |
Format a string with va_list for arguments, see rcutils_snprintf(). More... | |
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.
int rcutils_vsnprintf | ( | char * | buffer, |
size_t | buffer_size, | ||
const char * | format, | ||
va_list | args | ||
) |
Format a string with va_list for arguments, see rcutils_snprintf().