vfprintf
, vprintf
, vsprintf
, vsnprintf
, vasprintf
, vasnprintf
—format argument listSynopsis
#include <stdio.h> #include <stdarg.h> int vprintf(const char *fmt, va_list list); int vfprintf(FILE *fp, const char *fmt, va_list list); int vsprintf(char *str, const char *fmt, va_list list); int vsnprintf(char *str, size_t size, const char *fmt, va_list list); int vasprintf(char **strp, const char *fmt, va_list list); char *vasnprintf(char *str, size_t *size, const char *fmt, va_list list); int _vprintf_r(struct _reent *reent, const char *fmt, va_list list); int _vfprintf_r(struct _reent *reent, FILE *fp, const char *fmt, va_list list); int _vsprintf_r(struct _reent *reent, char *str, const char *fmt, va_list list); int _vasprintf_r(struct _reent *reent, char **str, const char *fmt, va_list list); int _vsnprintf_r(struct _reent *reent, char *str, size_t size, const char *fmt, va_list list); char *_vasnprintf_r(struct _reent *reent, char *str, size_t *size, const char *fmt, va_list list);
Description
vprintf
, vfprintf
, vasprintf
, vsprintf
, vsnprintf
,
and vasnprintf
are (respectively) variants of printf
,
fprintf
, asprintf
, sprintf
, snprintf
, and
asnprintf
. 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
.
_vprintf_r
, _vfprintf_r
, _vasprintf_r
, _vsprintf_r
,
_vsnprintf_r
, and _vasnprintf_r
are reentrant versions of the
above.
Returns
The return values are consistent with the corresponding functions.
Portability
ANSI C requires vprintf
, vfprintf
, vsprintf
, and
vsnprintf
. The remaining functions are newlib extensions.
Supporting OS subroutines required: close
, fstat
, isatty
,
lseek
, read
, sbrk
, write
.