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 _vprintf_r(void *reent, const char *fmt, va_list list);
int _vfprintf_r(void *reent, FILE *fp, const char *fmt, va_list list);
int _vsprintf_r(void *reent, char *str, const char *fmt, va_list list);
vprintf、vfprintf 和 vsprintf 分别是 printf、fprintf 和 sprintf 的变体。它们唯一的区别在于允许调用者将可变参数列表作为 va_list 对象(由 va_start 初始化)传递,而不是直接接受可变数量的参数。### 返回值
返回值与相应的函数一致:vsprintf 返回输出字符串中的字节数,末尾的 NULL 不计入在内。vprintf 和 vfprintf 返回传输的字符数。如果发生错误,vprintf 和 vfprintf 返回 EOF。vsprintf 不会发生错误返回。
**权威来源**: BUSMASTER DITA help source `vprintf.dita`, compiled into `BUSMASTER.CHM` with the application.