viprintf
, vfiprintf
, vsiprintf
, vsniprintf
, vasiprintf
, vasniprintf
—format argument list (integer only)Synopsis
#include <stdio.h> #include <stdarg.h> int viprintf(const char *fmt, va_list list); int vfiprintf(FILE *fp, const char *fmt, va_list list); int vsiprintf(char *str, const char *fmt, va_list list); int vsniprintf(char *str, size_t size, const char *fmt, va_list list); int vasiprintf(char **strp, const char *fmt, va_list list); char *vasniprintf(char *str, size_t *size, const char *fmt, va_list list); int _viprintf_r(struct _reent *reent, const char *fmt, va_list list); int _vfiprintf_r(struct _reent *reent, FILE *fp, const char *fmt, va_list list); int _vsiprintf_r(struct _reent *reent, char *str, const char *fmt, va_list list); int _vsniprintf_r(struct _reent *reent, char *str, size_t size, const char *fmt, va_list list); int _vasiprintf_r(struct _reent *reent, char **str, const char *fmt, va_list list); char *_vasniprintf_r(struct _reent *reent, char *str, size_t *size, const char *fmt, va_list list);
Description
viprintf
, vfiprintf
, vasiprintf
, vsiprintf
,
vsniprintf
, and vasniprintf
are (respectively) variants of
iprintf
, fiprintf
, asiprintf
, siprintf
, sniprintf
,
and asniprintf
. They differ only in allowing their caller to pass
the variable argument list as a va_list
object (initialized by
va_start
) rather than directly accepting a variable number of
arguments. The caller is responsible for calling va_end
.
_viprintf_r
, _vfiprintf_r
, _vasiprintf_r
,
_vsiprintf_r
, _vsniprintf_r
, and _vasniprintf_r
are
reentrant versions of the above.
Returns
The return values are consistent with the corresponding functions:
Portability
All of these functions are newlib extensions.
Supporting OS subroutines required: close
, fstat
, isatty
,
lseek
, read
, sbrk
, write
.