Prints formatted wide-character output using a variable argument list object #include <stdarg.h> #include <wchar.h> int vfwprintf ( FILE *fp , const wchar_t * restrict format , va_list argptr ); int vswprintf ( wchar_t * restrict s , size_t n , const wchar_t * restrict format , va_list argptr ); int vwprintf ( const wchar_t * restrict format , va_list argptr ); The functions vfwprintf( ), vswprintf( ), and vwprintf( ) are like fwprintf( ), swprintf( ), and wprintf( ), respectively, except that their last argument, argptr, is a variable-argument list object with type va_list. The program must initialize this object by calling the va_start( ) macro before calling the vfwprintf( ), vswprintf( ), or vwprintf( ) function, and must call the va_end( ) macro after the function returns. Because these functions use the va_arg( ) macro internally to advance the pointer through the argument list, its value is indeterminate after the vfwprintf( ), vswprintf( ), or vwprintf( ) function call has returned. The vfwprintf( ) and vwprintf( ) functions return the number of wide characters written to the output stream, or a negative value if an error occurred. The vswprintf( ) function returns the number of wide characters written to the output buffer, not counting the terminating null wide character, or a negative value if an encoding error occurred or if the complete output string would have contained more than n wide characters. ExampleSee the example for the corresponding byte-character function vfprintf( ) in this chapter. See Alsovfwscanf( ), vswscanf( ), and vwscanf( ) |