vfprintf, _vfprintf_l, vfwprintf, _vfwprintf_l
Write formatted output using a pointer to a list of arguments. More secure versions of these functions exist; see vfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_l.
int vfprintf( FILE *stream, const char *format, va_list argptr ); int _vfprintf_l( FILE *stream, const char *format, locale_t locale, va_list argptr ); int vfwprintf( FILE *stream, const wchar_t *format, va_list argptr ); int _vfwprintf_l( FILE *stream, const wchar_t *format, locale_t locale, va_list argptr );
For more information, see Format Specifications.
vfprintf and vfwprintf return the number of characters written, not including the terminating null character, or a negative value if an output error occurs. If either stream or format is a null pointer, the invalid parameter handler is invoked, as described in Parameter Validation. If execution is allowed to continue, the functions return -1 and set errno to EINVAL.
For information on these and other error codes, see _doserrno, errno, _sys_errlist, and _sys_nerr.
Each of these functions takes a pointer to an argument list, then formats and writes the given data to stream.
vfwprintf is the wide-character version of vfprintf; the two functions behave identically if the stream is opened in ANSI mode. vfprintf doesn't currently support output into a UNICODE stream.
The versions of these functions with the _l suffix are identical except that they use the locale parameter passed in instead of the current thread locale.
Security Note: |
|---|
Ensure that format is not a user-defined string. For more information, see Avoiding Buffer Overruns. |
TCHAR.H routine | _UNICODE & _MBCS not defined | _MBCS defined | _UNICODE defined |
|---|---|---|---|
_vftprintf | vfprintf | vfprintf | vfwprintf |
_vftprintf_l | _vfprintf_l | _vfprintf_l | _vfwprintf_l |
Routine | Required header | Optional headers |
|---|---|---|
vfprintf, _vfprintf_l | <stdio.h> and <stdarg.h> | <varargs.h>* |
vfwprintf, _vfwprintf_l | <stdio.h> or <wchar.h>, and <stdarg.h> | <varargs.h>* |
* Required for UNIX V compatibility.
For additional compatibility information, see Compatibility in the Introduction.
Not applicable. To call the standard C function, use PInvoke. For more information, see Platform Invoke Examples.
Security Note: